jquery ajax将部分视图加载到div标签MVC
我一直在搜索如何进行jquery调用以在我的索引视图上的div标签中加载局部视图。 有些我在点击树上的链接时没有得到部分视图的更新。 部分视图在我第一次运行时加载b / c我调用
@Html.Partial("_InnerView")
。 之后,当我点击链接时没有任何反应。 或许我在这里没有全面了解。 有人提到使用$('#divid').load = data;
或$('#divid').innerHTML= data;
但没有什么对我有用。 这就是我所拥有的。
控制器:
public ActionResult Test(string parentEls) { if (Request.IsAjaxRequest()) { Employee employee = new Employee(); employee.Name = parentEls + "1"; return PartialView("_InnerView", employee); } return View("_InnerView"); }
索引视图:
@Html.Partial("_InnerView") $('#tree a').click(function () { var parentEls = $(this).parents('ul').map(function () { return $(this).find('a').first().text(); }).get().join(", "); $.ajax({ type: 'POST', url: '@Url.Content("~/Home/Test")', data: { parentEls: parentEls }, success: function(data) { $('#divid').innerHTML = data; } }); });
_InnerView.cshtml:
@model TreeDemo.Models.Employee
EmpName:@ Model.Name
更新:我得到了这个与此一起工作
$.ajax({ url: '/Home/Test/', contentType: 'application/html; charset=utf-8', type: 'GET', dataType: 'html', data: { parentEls: parentEls } })
你必须使用
$('#divid').html(data);
代替
$('#divid').innerHTML = data;
在div MVC 4中加载局部视图
最近我想在Div中加载Partal View,经过大量研发后,它对我来说很有用
$.ajax({ type: 'POST', url: '@Url.Content("~/ControllerName/ActionName")', data: { title: title }, success: function(result) { $('#divid').innerHTML = result; } }); And In Partal View Action Controller Code public PartialViewResult ShowCategoryForm(string title) { Model model = new Model(); model.Title = title; return PartialView("~/Views/ControllerName/PartalView.cshtml", model); }
我认为如果您检查通话的请求/响应对象会很有用,这样您就可以看到拨打电话后发生了什么……根据您的代码,我发现您使用的是
$.ajax({ type: 'POST', url: '@Url.Content("~/Home/Test")', data: { parentEls: parentEls }, success: function(data) { $('#divid').innerHTML = data; } });
但是你的行动标记为’获得’……你需要有这样的东西
[HttpPost] public ActionResult Test(string parentEls)
所以MVC可以理解在使用HttpPost动词时应该调用该动作