在MVC中通过Ajax加载后显示部分视图

时间:2014-12-08 13:08:45

标签: c# jquery asp.net-mvc

我想在用户在页面上时在后台加载数据。加载数据后,我想使用部分视图显示它。所以我写了这个:

var serviceURL = '/Vm/GetInformation';
$.ajax({
    type: "POST",
    url: serviceURL,
    data: param = "",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: { "id": id },
    //success: resetPartial()
});

在我的控制器中:

public ActionResult GetInformation()
{
    myCode...
    return PartialView("_List", Costumer);
}

那么在我的主视图中显示_List部分视图的最后一步是什么呢?现在这里有关于costumers的数据(我的ajax函数在哪里)

谢谢

2 个答案:

答案 0 :(得分:1)

您需要做的就是替换旧内容:

success: function(d) {
 //d should be a string that's the HTML markup
 $("#someparentelementthatsurroundsinnercontent").html(d);
}

或者,如果要追加到列表末尾,可以使用任何方法附加内容。 JQuery提供了很多选项来实现这一目标。

答案 1 :(得分:0)

您的控制器操作不需要参数。因此,您可以从ajax调用中删除以下行。

data: param = "",
data: { "id": id },

如果您的控制器操作中确实有任何参数ID,请使用

data: { id:id } 

在html中有一个div来保存局部视图的内容。在成功中,使用如下:

success : function(result) {
  $("#partialViewHolder").html(result);
}