如何从返回的局部视图访问数据以及JSON数据

时间:2018-09-11 16:31:18

标签: c# jquery ajax

我使用:

$.get('/Main/Sub', { id: id }, function(response, text, XMLHttpRequest){
    // returns the page
});

C#控制器:

public ActionResult Sub(int id){
    // code
return PartialView(ViewNames.Sub, theViewModel);
}

我想做的是返回部分(它所做的)以及视图模型数据。目前,我没有办法解密在theViewModel中传递回的数据,我只能读取返回的html页面。我也该如何访问数据?

1 个答案:

答案 0 :(得分:0)

您的局部视图可能有很多隐藏字段:

@* Can target directly or use classes to target hidden fields in JS *@
@Html.HiddenFor(m => m.ID, new { @class = "id-field" })
@Html.HiddenFor(m => m.Name, new { @class = "name-field" })

或者您的部分视图可能具有数据属性:

<div data-row="{@JsonConvert.SerializeObject(Model)}"

<div data-id="@Model.ID" data-name="@Model.Name"

这些是几种方法。或者,返回JSON,然后将JSON绑定到如下模板: