asp.net-mvc - jquery ajax加载部分 View 到div标签MVC

标签 asp.net-mvc jquery

我一直在寻找如何进行 jquery 调用以在索引 View 上的 div 标记中加载部分 View ,但没有运气。当我单击树上的链接时,我无法更新部分 View 。当我第一次运行它时,部分 View 会加载,因为我调用 <div id="divid"> @Html.Partial("_InnerView")</div> 。之后,当我点击链接时什么也没有发生。或者也许我没有在这里了解全貌。有些提到使用 $('#divid').load = data;$('#divid').innerHTML= data;但对我来说没有任何作用。这就是我所拥有的。

Controller :

 public ActionResult Test(string parentEls)
    {
        if (Request.IsAjaxRequest())
        {
            Employee employee = new Employee();
            employee.Name = parentEls + "1";
            return PartialView("_InnerView", employee);
        }
        return View("_InnerView");            
    }

索引 View :

<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:

  @model TreeDemo.Models.Employee
员工姓名:@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;

关于asp.net-mvc - jquery ajax加载部分 View 到div标签MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20337665/

相关文章:

jquery - 如何仅在半圈内制作动画

.net - 我在哪里可以找到一个好的 NHibernate 和 ASP.NET MVC 引用应用程序

c# - 如何将 FormData 读入 WebAPI

ASP.NET MVC : Use Html. CheckBoxFor() 在选中时收集字符串值列表

javascript - 单击按钮之前不要加载部分 html

jquery - 无法在 JQuery 视频插件上覆盖内容 - JQuery.videoBG

javascript - 为什么我的 JavaScript 函数只能在索引 View 中工作?

asp.net-mvc - 我可以将模型的多个实例以相同的形式传递给 Controller ​​吗?

javascript - 从 svg 中删除特定颜色的矩形 - javascript

jquery - 如何在 kendo ui dropdownlist 远程数据前添加静态项目