Web网格与动态创建的模型在asp.net mvc3
本文关键字:asp net mvc3 模型 网格 动态 创建 Web | 更新日期: 2023-09-27 17:51:03
我正在构建一个ASP。Net mvc3网站,它由一系列表单组成,这些表单都建立在不同的模型之上。一旦用户填写了每个表单,将显示一个"确认"页面,该页面将显示表单填写的字段以及网格格式的数据给用户。我在显示确认视图时面临困难,因为模型不断更改每个表单。以下是我的确认控制器方法:
public ActionResult Confirm(string ReqType)
{
var result = new List<dynamic>();
if (ReqType == "AcctDesc")
{
DbContext.AcctDescDbContext objAcctDescDbContext = new DbContext.AcctDescDbContext();
Models.AccountDesc objAcctDesc = objAcctDescDbContext.GetLatestRecord();
ViewData["AcctDesc"] = objAcctDesc;
ViewBag.ObjectModel = objAcctDesc;
var obj = (IDictionary<string, object>)new ExpandoObject();
obj.Add("Req_Name",objAcctDesc.Req_Name);
obj.Add("Req_Date",objAcctDesc.Req_Date);
obj.Add("ApprovalGroup",objAcctDesc.ApprovalGroup);
obj.Add("Account",objAcctDesc.AC_proposed);
obj.Add("Reason",objAcctDesc.AC_definition);
obj.Add("Language",objAcctDesc.AC_language);
obj.Add("CurrentShortText", objAcctDesc.AC_Currentshorttext);
obj.Add("CurrentLongText", objAcctDesc.AC_CurrentLongtext);
obj.Add("NewShortText", objAcctDesc.AC_Newshorttext);
obj.Add("NewLongText", objAcctDesc.AC_Newlongtext);
result.Add(obj);
}
ViewBag.result = result;
return View();
}
下面是Confirm视图:
@{
ViewBag.Title = "Confirm";
Layout = "~/Views/Shared/_LayoutMasterDataForms.cshtml";
}
<div>
@{
var grid = new WebGrid(ViewBag.result);
}
@using (Html.BeginForm())
{
<div id="grid">
@grid.GetHtml()
</div>
}
</div>
问题是网格没有在确认页面中呈现-空白Html即将出现,这里的问题是什么?请帮助。
我做了一个剥离版本的代码来生成一个WebGrid
,它的工作很好,就我所能看到的。下面是输出和我的代码:https://dotnetfiddle.net/Zq0lHy。此外,我建议在这种情况下使用类型化的List
而不是使用dynamic
, ViewData
或ViewBag
也是如此。