我真的很惊讶我之前没遇到过这个问题,但似乎在元素上调用jQueries .html()函数会忽略DOM中的更改,即它会返回原始源中的HTML.IE不会这样做.jQueries .html()只是在内部使用innerHTML属性.
这是否意味着发生?我使用的是Firefox 3.5.2.我在下面有一个示例,无论您将文本框值更改为什么,"container"元素的innerHTML只返回HTML标记中定义的值.该示例不使用jQuery只是为了使它更简单(使用jQuery的结果是相同的).
有没有人有一个解决方法,我可以在当前状态下获取容器的html,即包括对DOM的任何脚本更改?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script type="text/javascript">
<!--
function BodyLoad(){
document.getElementById("textbox").value = "initial UPDATE";
DisplayTextBoxValue();
}
function DisplayTextBoxValue(){
alert(document.getElementById("container").innerHTML);
return false;
}
//-->
</script>
</head>
<body onload="BodyLoad();">
<div id="container">
<input type="text" id="textbox" value="initial" />
</div>
<input type="button" id="button" value="Test me" onclick="return DisplayTextBoxValue();" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个完全支持Forms身份验证的ASP.NET MVC应用程序.但是有一组路由(/ report /%)我需要强制集成Windows身份验证,因为这些页面需要模拟当前用户(出于安全原因).
如果我将整个站点设置为集成的Windows身份验证,这一切都有效,除了firefox在用户访问站点主页时提示用户输入两次用户名/密码(一次用于Windows身份验证,然后再用于表单身份验证),而IE仅提示表格认证.这很好,我知道这是Firefox的默认行为,但是为了不让用户高兴,我被要求将Windows身份验证要求限制为仅限于网站的/ report/*部分,因此只有在他们转到/ report /%中的任何页面.
在ASP.NET WebForms中这很容易,因为有一个physcial/report文件夹来放置身份验证配置,但在MVC中这个URL是虚拟的,所以我不能这样做.有谁知道这样做的好方法?我试图创建一个"网关"aspx页面,用户在重定向到相应的报告页面之前需要首先完成,虽然Firefox确实在正确的位置提示用户输入他们的Windows凭据,但它似乎没有保留将后续请求的详细信息发送到任何/ report /%页面.有任何想法吗?会非常感激!
根据我表达选择器的方式,我的性能差异很大.例如,查看这两个选择器,它们选择完全相同的元素:
A) someTableRow.find("td.someColumnClass").find("span.editMode").find("input")
B) someTableRow.find("td.someColumnClass span.editMode input")
Run Code Online (Sandbox Code Playgroud)
我希望B)能够更快,因为只有1次调用,但实际上我发现A)的执行速度提高了大约8倍.我不知道为什么,任何人都有任何见解?谢谢
我想在我的域模型中添加验证器属性(在ASP.NET MVC应用程序中),我正在尝试在2个框架,验证应用程序块和DataAnnotations之间做出决定.他们似乎做了类似的任务,所以我想选择将来最受支持/使用的任务.似乎DataAnnotations是更新的(并且在3.5 SP1中构建到框架中),那么人们认为验证应用程序块将变得过时吗?
[标记为社区维基,因为这是主观的]
有谁知道如何使用NHibernate标准表达以下SQL语句?
SELECT SUM(Val1 + Val2) FROM SomeTable
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但是AFAIK我似乎无法找到一种方法来做到这一点而不返回一个值数组,Val1 + Val2的总和分别然后从数组求和,我想避免.
asp.net-mvc ×2
jquery ×2
asp.net ×1
c# ×1
criteria ×1
dom ×1
firefox ×1
html ×1
iis ×1
innerhtml ×1
nhibernate ×1
performance ×1