我有一个简单的 ASP.Net MVC 4 应用程序,专为移动使用而设计。该应用程序使用内置的 C# Visual Studio 移动应用程序模板,该模板附带表单例份验证以及用于处理登录的帐户 View 和 Controller 。
该应用程序具有内置的登录 View 、主菜单和我自己创建的飞行 View 。
我希望所有 CSS 类为“date”的 html 元素都是日期时间选择器,因此通过 JQuery UI,我在加载 Jquery 包后立即将以下 JavaScript 放入 Shared/_Layout.cshtml View 中:
<script type="text/javascript">
$(document).ready(function () {
alert("test");
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
});
</script>
当我登录应用程序并手动将浏览器中的 URL 更改为“航类” View 时,该脚本完全满足了我的需要。手动导航到 http://localhost:63891/Flight
但是,当我从主菜单上的链接导航时,它永远不会运行脚本。在主菜单 View 中,链接是通过以下内容生成的:
<ul data-role="listview" data-inset="true">
<li data-role="list-divider">Navigation</li>
<li>@Html.ActionLink("Flights", "Index", "Flight")</li>
</ul>
需要明确的是,单击链接会按预期呈现 View ,但它不会运行我的 JavaScript。我运行脚本的唯一方法是手动输入 URL。
我尝试将脚本移动到实际的 Flight View 中,但此时 JQuery 尚未加载,因为它已加载到 Shared/_Llayout.cshtml View 的脚本部分中。
当我将鼠标悬停在链接上时,显示的 URL 为 localhost:63891/Flight,但当我实际单击时,URL 更改为 localhost:63891/#/Flight。我不确定这是为什么以及是否相关。
如何在点击链接时运行脚本?
编辑:我想我有这个问题,但没有人回答他/她的问题 How to handle jQuery event on an ASP.net MVC Ajax loaded page?
最佳答案
关于c# - 共享 View 上的 ASP.Net MVC4 JavaScript 未从链接执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809224/