我正在建立一个ASP.Net mvc3网站,该网站包含一系列建立在不同模型之上的表格。一旦用户填写了每个表单,就会显示“确认”页面,该页面将向用户显示填写的表单字段以及网格格式的数据。当模型不断更改每个表单时,我在显示确认视图时遇到困难。 以下是我的Controller方法确认:
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();
}
以下是确认视图:
@{
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即将出现,这里有什么问题?请帮忙。
答案 0 :(得分:0)
我做了代码的精简版以生成WebGrid
,就我所见,它工作得很好。这是输出和我的代码:https://dotnetfiddle.net/Zq0lHy。另外,我建议使用键入的List
,而不是在这种情况下使用dynamic
,对ViewData
或ViewBag
使用Plugin::routes();
。