[英]Is it possible to control the order in which HTML Razor components render?
我正在尝试渲染我的一个页面,并且在要显示的 div 顶部有一个Html.RenderAction()
调用。 我想从通过我的 RenderAction 调用显示的页面内部调用document.ready()
中的我的 js 初始化方法之一,但它似乎在 Html 之后的页面中的Html.RenderAction()
之前触发document.ready()
Html.RenderAction()
调用。
因此,init function 正在检查剑道元素中的数据,该元素在 JQuery 完成之前被调用后尚未加载,并且仅将应为剑道输入的输入视为默认 ZFC35FDC70D5FC35FDC70D5FC67D2369888 <input>
3
换句话说,有没有办法延迟 RenderAction 的加载/调用,直到页面内部加载? 或者我应该使用一些丑陋的 CSS 将我需要的部分保留在我的 div 的顶部? 下面是我的代码的非常基本的摘要:
<html>
...
<div>
@Html.RenderAction("File that calls init() method")
<...rest of page that I need to load first, including kendo text boxes/>
</div>
</html>
调用 init() 方法的文件
<div>
...
</div>
<script src="...">
$(document).ready(function() {
myJs.init(params)
}
</script>
现在我已经在其他地方实现了下面的答案,我意识到当从document.ready
切换到window.on('load',...)
时,它现在打破了另一个类似的视图,但是取而代之的是@Html.RenderAction
调用位于底部:
...
<div>
<>page including kendo inputs</>
@Html.RenderAction("different file that calls same init() method")
</div>
</html>
基本上,如果 razor 在剑道之前, document.ready
对我有用,但反之则不然 - 而window.on('load',function(){...})
则相反。
这可能有效,尝试使用 $(window).load(function() 而不是 $(document).ready(function()
<div>
...
</div>
<script src="...">
$(window).load(function() {
myJs.init(params)
}
</script>
来自以下链接:“在完整页面完全加载时执行,包括所有框架、对象和图像”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.