C# 局部视图上无法识别淘汰JS
我有一个包含一些javascript的主页,一个从主页加载的部分视图,以及从部分视图页面加载的第二个部分视图 主页引用了一个javascript源文件,其中包括knockout js,其中声明了许多ko.observates 这些ko.Observable的工作方式与主页的预期相同,但当模型通过时,它们无法识别部分视图和第二部分视图的值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文件?您不需要添加对部分页面的引用,而是首先通过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>