jQuery ajax将局部视图加载到div标签MVC
我一直在寻找如何进行jquery调用来加载索引视图中div标签中的部分视图的运气,这没有运气.单击树上的链接时,我如何无法部分视图更新.第一次运行b/c时会加载局部视图,我称之为<div id="divid">
@Html.Partial("_InnerView")</div>
.之后,当我单击链接时,什么也没有发生.也许我没有在这里看到完整的图片.有人提到使用$('#divid').load = data;
或$('#divid').innerHTML= data;
,但对我没有任何作用.这就是我所拥有的.
I've been searching around with no luck on how to make a jquery call to load a partial view in a div tag on my Index view. Some how I am not getting the partial view to update when I click on a link on my tree. The partial view loads when I first run it b/c I call <div id="divid">
@Html.Partial("_InnerView")</div>
. After that nothing happens when I click on the link. Or maybe I am not getting the full picture here. Some mentioned to use $('#divid').load = data;
or $('#divid').innerHTML= data;
but nothing works for me. This is what I have.
控制器:
public ActionResult Test(string parentEls)
{
if (Request.IsAjaxRequest())
{
Employee employee = new Employee();
employee.Name = parentEls + "1";
return PartialView("_InnerView", employee);
}
return View("_InnerView");
}
索引视图:
<div id="divid">
@Html.Partial("_InnerView")</div>
$('#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:
_InnerView.cshtml:
@model TreeDemo.Models.Employee
EmpName:@ Model.Name
更新:我可以使用它
EmpName:@Model.Name
UPDATE: I got this to work with this
$.ajax({ url: '/Home/Test/', contentType: 'application/html; charset=utf-8', type: 'GET', dataType: 'html', data: { parentEls: parentEls } })
您必须使用
$('#divid').html(data);
代替
$('#divid').innerHTML = data;