C# 局部视图上无法识别淘汰JS

C# 局部视图上无法识别淘汰JS,c#,javascript,asp.net-mvc,knockout.js,partial-views,C#,Javascript,Asp.net Mvc,Knockout.js,Partial Views,我有一个包含一些javascript的主页,一个从主页加载的部分视图,以及从部分视图页面加载的第二个部分视图 主页引用了一个javascript源文件,其中包括knockout js,其中声明了许多ko.observates 这些ko.Observable的工作方式与主页的预期相同,但当模型通过时,它们无法识别部分视图和第二部分视图的值 是否每个视图都需要引用相同的javascript文件?您不需要添加对部分页面的引用,而是首先通过ajax调用加载部分视图,然后将绑定应用到回调函数中,如以下示例

我有一个包含一些javascript的主页,一个从主页加载的部分视图,以及从部分视图页面加载的第二个部分视图

主页引用了一个javascript源文件,其中包括knockout js,其中声明了许多ko.observates

这些ko.Observable的工作方式与主页的预期相同,但当模型通过时,它们无法识别部分视图和第二部分视图的值


是否每个视图都需要引用相同的javascript文件?

您不需要添加对部分页面的引用,而是首先通过ajax调用加载部分视图,然后将绑定应用到回调函数中,如以下示例所示:

ASP.NET MVC控制器:

HTML和Javascript:


根据您在视图之间共享值的方式,您肯定需要一些方法让它们相互引用。一些标记会很好!另一件值得检查的事情是您进行绑定的时刻。如果发生在加载部分视图之前,ko将不会在视图上看到这些可观察对象。对于每个部分视图,请尝试使用数据绑定:with:objForPartial
public class TestController:Controller
{
  [HttpGet]
  public ActionResult MyView()
  {
    return PartialView("_MyView");
  }

}
    <div id="ContentHolder" ><div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>

    $.get('Test/MyView', function(view){
        var _contentHolder = document.getElementById('ContentHolder');

       _contentHolder.html(view);

        ko.applyBinding(self, _contentHolder);
    })
    </script>