Javascript 使用JS的MVC内部局部视图

Javascript 使用JS的MVC内部局部视图,javascript,jquery,ajax,asp.net-mvc,partial-views,Javascript,Jquery,Ajax,Asp.net Mvc,Partial Views,在我的主视图中,我有ajax操作链接 e、 g 控制器内部 public ActionResult CompanyHours(string Id) { ... return PartialView("UpdateCompanyHours", model);} 视图在单击时加载 我看到的部分视图“UpdateCompanyHours.cshtml” 问题是: 我想在主视图中添加我的js文件。将代码添加到主视图页面的底部: @section Scripts { <scr

在我的主视图中,我有ajax操作链接

e、 g

控制器内部

 public ActionResult CompanyHours(string Id)
    { ...   return PartialView("UpdateCompanyHours", model);}
视图在单击时加载

我看到的部分视图“UpdateCompanyHours.cshtml”

问题是:

我想在主视图中添加我的js文件。将代码添加到主视图页面的底部:

@section Scripts
{
    <script src="~/Scripts/myjs.js"></script>
}
js未被识别。但是如果我在部分视图中添加js文件,它就可以正常工作


如何在主视图中加载js文件并在部分视图中使用js文件?

我打赌,在调用主页的加载函数后,ajax调用将异步返回部分完成,在这种情况下,没有机会设置事件处理程序,因为该元素尚未添加到主视图中多姆。当加载部分时,您需要以某种方式通知up。

当您单击“更新时间”链接时,ajax代码将动态地向当前DOM注入新的DOM元素(来自部分视图的标记)。但您的单击事件已注册到现有元素(加载页面时的当前元素)。没有为这些新dom元素注册单击事件处理程序

使用jQuery
on
方法绑定click事件。使用
on
方法,您可以注册DOM的当前和未来元素的事件

这应该行得通

$(function () {

    $(document).on("click",".Time24hrs",function () {
        alert("alert2");
    });

});
@section Scripts
{
    <script src="~/Scripts/myjs.js"></script>
}
(function () {
$(function () {
    alert("alert1");
    $('.Time24hrs').click(function () {
        alert("alert2");
    });
});
})();
$(function () {

    $(document).on("click",".Time24hrs",function () {
        alert("alert2");
    });

});