Javascript ASP jQuery.load方法未触发控制器操作方法
我正在尝试使用AJAX和使用实体框架的JQuery在局部视图中显示列表。预期的功能是让用户能够单击导航栏上的操作链接,从而触发JQuery事件,将控制器操作方法中的列表注入局部视图。为此,我使用.load()jQuery方法。但是,每次单击操作链接时,jquery事件都会正确触发,但控制器方法永远不会调用部分视图 通过查看Chrome中的NewWork选项卡,我可以看到以下内容: 以下是我的设置: HomeControllerJavascript ASP jQuery.load方法未触发控制器操作方法,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,我正在尝试使用AJAX和使用实体框架的JQuery在局部视图中显示列表。预期的功能是让用户能够单击导航栏上的操作链接,从而触发JQuery事件,将控制器操作方法中的列表注入局部视图。为此,我使用.load()jQuery方法。但是,每次单击操作链接时,jquery事件都会正确触发,但控制器方法永远不会调用部分视图 通过查看Chrome中的NewWork选项卡,我可以看到以下内容: 以下是我的设置: HomeController public ActionResult ListeArtistes(
public ActionResult ListeArtistes()
{
ViewBag.Message = "Your application description page.";
Debug.WriteLine("Liste artistes called");
return PartialView(db.Artistes.ToList());
}
在_Layout.cshtml中,我有一个id为的操作链接:
@Html.ActionLink("Artistes", "", "", new { id = "Artistes" })
在_Layout.cshtml的底部:
<script src="~/Scripts/MediaScripts.js"></script>
你知道我可能做错了什么吗?
谢谢你的提示
-JeffRazor代码在您将其放入JS文件时无法正常工作,就像您使用MediaScripts.JS时所做的那样:
function onNav_ListeArtistes() {
$("#viewPlaceHolder").load('@Url.Action("ListeArtistes", "Home")') // <- This will not work.
.on("click", function () { artisteListeAlbum(); });
}
然后在JS文件中执行以下操作:
function onNav_ListeArtistes() {
$("#viewPlaceHolder").load($('body').data('artistes-url')) <-- here you retrieve the URL stored into data-artistes-url attributes.
.on("click", function () { artisteListeAlbum(); });
}
函数onNav_listeArtisters(){
$(“#viewPlaceHolder”).load($('body').data('artistes-url'))这很管用!谢谢你的提示:)但是,有没有办法让它独立于视图?我没有使用url.Action,而是尝试了从脚本到控制器操作的特定路径:$('#liste').load(“/Home/artistes”);但它不起作用。我希望能够simpy将html内容注入到视图中,并在服务器端管理其余内容…您可以直接将相对URL粘贴到JS文件中,但使用此方法更易于维护,因为如果控制器的操作名称更改,则无需更改JS文件。太好了!再次感谢我的支持我的头靠在墙上。
<body data-artistes-url='@Url.Action("ListeArtistes", "Home")'>
<!-- other markups -->
</body>
function onNav_ListeArtistes() {
$("#viewPlaceHolder").load($('body').data('artistes-url')) <-- here you retrieve the URL stored into data-artistes-url attributes.
.on("click", function () { artisteListeAlbum(); });
}