Ale*_*lex 7 asp.net-mvc jquery
我有一个页面,其中包含部分视图.
MyMainView.cshtml
<div>
@Html.Partial("MyPartial")
</div>
@section pagespecific {
<script type='text/javascript'>
$(document).ready(function(){
console.log('Value is: ' + $('#MyModelField').val());
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
MyPartial.cshtml
<div>
@Html.HiddenFor(x => x.MyModelField)
</div>
Run Code Online (Sandbox Code Playgroud)
但是,MyModelField模型中的值是True我在浏览器控制台中获得以下输出:
Value is: undefined
Run Code Online (Sandbox Code Playgroud)
为什么这不是这个领域?在此触发之前,部分视图是否应该已添加到DOM中?
如果我改变它$(document).ready(),$(window).load()它按预期工作.
我怎样才能达到理想的行为?
是的,这是真的,原因是您的dom准备好.ready被解雇了。因此,您的页面将首先加载并触发jquery .readyfunction(),而顺序执行的部分视图也将在服务器端执行。
两者的可用性不同。
要停止或您要在一段时间后执行。
要么
给出您的持续时间的延迟时间
$(document).ready(function(){
console.log('Value is: ' + $('#MyModelField').val());
setTimeout("$('#buttonid').click()", DelayDuration);
});
Run Code Online (Sandbox Code Playgroud)
// DelayDuration表示给出毫秒值,即1000毫秒= 1秒
在这里问同样的问题
在MVC Asp.net中渲染部分视图后,是否可以启动javascript函数?
$(document).ready在渲染部分视图之前不会触发,因为部分视图是在服务器端渲染的。您在 jquery 中使用了错误的 ID,因为@Html.HiddenFor(x => x.MyModelField)不会创建 ID=“MyModelField”的元素。元素将具有带前缀的 ID,该前缀取决于您的模型类名称。
在浏览器工具 (F12) 中检查元素的 id 并确定真实的 ID。
示例:如果您的模型名称是Userclass。生成的 id 看起来像User_MyModelField
| 归档时间: |
|
| 查看次数: |
11667 次 |
| 最近记录: |