jQuery ajax将局部视图加载到div标签MVC

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;