jQuery ajax将局部视图加载到div标签MVC [英] jquery ajax load partial view to div tag MVC

查看:106
本文介绍了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;

这篇关于jQuery ajax将局部视图加载到div标签MVC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆