部分脚本不在ASP.net MVC4剃刀中呈现

Erm*_*bel 11 razor jquery-mobile asp.net-mvc-4

我正在使用VSRC在ASP.net MVC4 razor中开发一个JQuery移动应用程序,在cshtml页面部分脚本编写如下.

@section Scripts
 {
  <script type="text/javascript">
     $(document).ready(function () {
        jQuery("#register-form").validationEngine();
  });
 </script>
}
Run Code Online (Sandbox Code Playgroud)

在layout.cshtml我有......

"@RenderSection("Scripts", false)".
Run Code Online (Sandbox Code Playgroud)

它适用于初始页面(首先呈现的页面),但是当它通过"ActionLink"链接到其他页面时,那些在这些页面中编写的节脚本不起作用.

有任何想法吗?

请帮忙,谢谢.

Eri*_*k B 1

我有同样的问题。为了解决这个问题,我只是避免使用“脚本”部分。

从每个页面中删除@section Scripts{并将 js 代码放在页面末尾。

对于您的示例,请确保移至_Layout.cshtml 中@Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile")之前的行</head>。这将保证 jquery 在到达时被加载$(document).ready(function () {...

=================================================

解释为什么会发生这种情况以及其他解决方案。http://lextell.com/blog/2012/10/23/script-section-is-not-rendered-in-asp-net-mvc-4-jquery-mobile-when-navigate-to-another-page- 2/

  • -1:虽然它是一个旧的答案,但在使用谷歌时发现,它实际上是这个问题的一个坏/错误的答案。因为将 javascript 放在页面底部实际上是一种很好的做法...我想问题是该部分不是从部分视图填充的,或者任何其他问题。但这个解决方法很糟糕!另请参阅http://stackoverflow.com/questions/7556400/injecting-content-into-specific-sections-from-a-partial-view-asp-net-mvc-3-with (9认同)