javascript - 在 Asp.net MVC 母版页中设置 Body 的 OnLoad 属性

标签 javascript asp.net-mvc master-pages

我有一个使用母版页的 View ,其中包含一些需要使用 Body 的 OnLoad 执行的 javascript。仅针对某些 View 在我的 MasterPage 上设置 OnLoad 的最佳方法是什么?

我的想法是将 javascript 函数的名称作为 ViewData 传递。但我真的不希望我的 Controller 必须了解页面上的 javascript。我真的不喜欢这种方法...

<body onload="<%=ViewData["Body_OnLoad"]%>">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />

编辑 - 我想一个想法是改用 jQuery 的文档就绪事件......

还有其他想法吗?

最佳答案

现在 JQuery 正式成为 ASP.NET MVC 的一部分,我会推荐使用它。它很小,可以为您的应用程序增加大量值(value)。

我建议添加包含 Intellisense 注释的 Mustafa 版本的 JQuery:

jquery-1.2.6-intellisense.js

然后将它添加到您的脚本文件夹(MVC Beta 1 中的新功能),并像这样引用它:

<script language="javascript" type="text/javascript" src="../../Scripts/jquery-1.2.6-intellisense.js"></script> 

在您的代码中,您现在可以添加如下函数:

$(document).ready(function() {
   // do stuff when DOM is ready
});

既然你提到你只希望它在某些 View 中发生,你可以像这样在你的母版页中添加一个占位符:

<asp:contentplaceholder id="JavascriptPlaceholder" runat="server"></asp:contentplaceholder>  

然后在您的 View 中,您可以选择是否将代码放在那里。

它会进入头部部分

关于javascript - 在 Asp.net MVC 母版页中设置 Body 的 OnLoad 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207150/

相关文章:

asp.net - 在 MVC 3 + Entity Framework 中创建 WebForms 应用程序

HTML继承页面布局

javascript - Phonegap 开发构建流程

javascript - React JS - 如何通过获取语句验证凭据

javascript - 当其中一个模型发生更改时,如何为 Backbone.js 中的 Collection View 附加事件处理程序?

asp.net - 将样式应用于母版页中的嵌套页面

asp.net - 从asp.net中的contentpage将css类分配给masterpage控件

javascript - 在 Vue.js 中使用 $event 或通过 $parent 操作父级上的数据

c# - 更改 URL 的单个路由部分

c# - 如何在 asp.net mvc 4 中创建具有局部 View 的搜索功能