2015-05-29 52 views
1

我正在建立一个ASP.Net mvc3网站,它包含一系列构建在不同模型之上的一系列表单。一旦用户填写完每个表格,就会显示一个“确认”页面,该页面将向用户显示表格的填充字段以及网格格式的数据。由于模型不断更改每种表单,因此我很难显示“确认”视图。 以下是我的确认控制器的方法:在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(); 

      } 

以下是确认的观点:

@{ 
    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

我做了一个剥离版本的代码来生成WebGrid,它工作正常,据我所知。这里是输出和我的代码:https://dotnetfiddle.net/Zq0lHy。此外,我会建议使用键入List而不是在这种情况下使用dynamic,并且ViewDataViewBag也使用相同。