ASP .NET MVC2 页面包含订单标题数据(订单号、客户、订单数据等):
<form id='_form' class='form-fields' action='' onsubmit='SaveDocument();return false;'>
<input id='Number' name='Number' />
<select id='PaymentTerm' name='PaymentTerm'>
<option value=''></option><option value='0'>Cash</option>
<option value='10'>10 days</option>
</select>
</form>
和 jqgrid 中显示的订单行。
我正在寻找一种方法来从控制器的 json 日期填充订单头数据,就像 jqgrid 填充数据一样。为了最小化请求,最好在 jqgrid 数据请求中返回标头数据。对于这个附加参数 documentId 被传递给控制器。
GetData 将文档标题作为文档对象中的名称值对返回。如何在 jqgrid loadcomplete 或其他地方将这些值分配给浏览器中的表单元素?
public JsonResult GetData(int page, int rows, string filters,
int documentId )
{
var query = ...;
var totalRecords = query.Count();
var documentHeader = new FormCollection();
// In production code those values are read from database:
documentHeader.Add("Number", 123); // form contains input type='text' name='Number' element
documentHeader.Add("PaymentTerm", "10"); // form contains select name='PaymentTerm' element
...
return Json(new {
total = page+1,
page=page,
document = documentHeader,
rows = (from item in query
select {
id = item.Id.ToString(),
cell = new[] {
item.ProductCode,
item.ProductName,
item.Quantity,
item.Price
}
}).ToList()
},
JsonRequestBehavior.AllowGet);
}