Oli*_*ver 38 javascript razor asp.net-mvc-3
我正在使用带有Razor视图引擎的MVC 3,我想将我的视图中的脚本注入一个$(document).ready(function(){}); 功能在母版页中.
我试过了:
<script type="text/javascript">
$(document).ready(function () {
//OnLoad Script load area
'@RenderSection("DocumentReady", false)'
});
</script>
Run Code Online (Sandbox Code Playgroud)
在我的主人,然后:
@section DocumentReady{
alert('');
}
Run Code Online (Sandbox Code Playgroud)
在我看来,但毫无疑问这不起作用:(
有没有一种简单的方法将js代码添加到主函数?我可能会遗漏一些非常简单的东西.我的观点是我有很多使用$(document).ready(()函数的小视图控件,我不希望客户端页面被这些及其附带的脚本标记所占据.
谢谢.
Dar*_*rov 81
您在布局中不需要围绕RenderSection调用的单引号:
<script type="text/javascript">
$(document).ready(function () {
@RenderSection("DocumentReady", false)
});
</script>
Run Code Online (Sandbox Code Playgroud)
并在视图内:
@section DocumentReady {
alert('');
}
Run Code Online (Sandbox Code Playgroud)
但如果您的布局中有一个脚本部分,它可能会更具可读性:
@RenderSection("Scripts", false)
Run Code Online (Sandbox Code Playgroud)
并在视图内:
@section Scripts {
<script type="text/javascript">
$(function() {
alert('');
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
Ema*_*a.H 10
例如,在_layout.cshtml中:
@RenderSection("JavaScript", required: false)
Run Code Online (Sandbox Code Playgroud)
然后在你看来:
@section JavaScript
{
<script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script>
<script type="text/javascript" src="@Url.Content("/Scripts/AnotherScript.js")"></script>
<script type="text/javascript">console.log("in the js");</script>
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助
| 归档时间: |
|
| 查看次数: |
78185 次 |
| 最近记录: |