我的视图中有一个按钮,当它执行GetReport()并执行时:json执行:public ActionResult GetReport(int licenseId)。
现在公共ActionResult GetReport(int licenseId)填充我的模型并由json返回。
每一件事都是正确的,但我不知道链接如何将模型(由json)返回给我的视图?
function GetReport() {
var id = $("select#LicensesDropdown").val();
if (id == null || id == '')
return;
var inputParams = "{licenseId : '" + id + "'}";
var abc;
$.ajax({
url: "/Members/ClientMonitoring/GetReport",
type: 'POST',
dataType: 'json',
data: inputParams,
contentType: 'application/json; charset=utf-8',
success: function (msg) {
var d = Date.parseJSON(msg.StartDate);<-----------------returned filled model-------------
here i don't know how to fill my grid now
}
});
}
我的模特--------------------------------------------- -------------------------------------------------- ----------------------
public class ReportBaseModel
{
public List<person> MonitoringLicenseModelsList { get; set; }
}
我的行动结果-------------------------------------------- -------------------------------------------------- ------------
[HttpPost]
public ActionResult GetReport(int licenseId)
{
// fill reportmodel it contains list of data and return it by jason
return Json(reportmodel);
}
在我看来-------------------------------------------- -------------------------------------------------- ----------------
@model Karanoos.Areas.Members.Models.CompositModels.ReportBaseModel
<input id="ButtonGetReport" type="button" value="Report" class="btnnormal" onclick="GetReport();" />
@{
var grid = new WebGrid(source: Model.LicensesClientsPacketModelsList,
defaultSort: "LicenseUI",
rowsPerPage: 3);
}
<div id="grid">
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("LicenseUI"),
grid.Column("AccountName"),
grid.Column("AppName")
)
)
答案 0 :(得分:1)
当您执行Ajax调用并获取JSON时,您处于客户端,因此您可以忘记任何网格和服务器端控件。您唯一能做的就是获取JSON数组并将其填充到浏览器中生成的页面中的纯空HTML表中。
有许多JQuery插件可以帮助您将json加载到HTML元素中,其中一个是loadJSON插件(请参阅http://code.google.com/p/jquery-load-json/的详细信息),它允许您将json数组加载到空白HTML表中。
作为示例,请参阅http://jquery-load-json.googlecode.com/svn/trunk/list.html如何从服务器端获取JSON数组并将其加载到UL / LI HTML结构中。你可以使用空白表做类似的事情。
约万