如何通过jQuery加载部分视图?

4

我正在尝试使用jQuery加载部分视图。 部分视图是从Contact.cshtml加载的。 然而,在Chrome中,当尝试加载partialViewName.cshtml时,我一直收到404错误。

我有以下文件夹结构:

/Views/Contact/Contact.cshtml

/Views/Contact/partialViewName.cshtml

$('#divname').load('partialViewName');

我当前所在的URL是 http://localhost/Contact/Index

你有什么想法我做错了什么吗?


3
$('#divname').load(url); 中的 url = '@Url.Action("actionName", "controllerName")';,意思是使用控制器名和操作名生成一个URL,并将该URL的内容加载到ID为 divname 的元素中。 - user3559349
3个回答

6

文件夹结构和.cshtml文件的名称并不重要。您应该向控制器操作发出ajax调用,以返回所需的部分视图。

返回部分视图的控制器操作方法应如下所示:

//
// GET: /SampleController/MyAction

[HttpGet]
public ActionResult MyAction()
{
   return PartialView("_MyPartial");
}

那么你需要调用这个方法:
$('#divname').load("/SampleController/MyAction");

1
如果局部视图是 Razor 视图,你需要创建一个控制器操作来传递局部视图。默认路由期望 /Controller/Action。这不是文件路径引用。

-1

因为当局部视图加载时,JavaScript无法工作


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接