2016-11-29 7 views
0

グリッドをビューに表示しようとしていますが、グリッドにエラーが表示されます。これは、ビューMVC 5でこの操作を実行するには、データソースをバインドする必要があります。

@{var grid = new WebGrid(Model, canPage: true, rowsPerPage: 20, 
     selectionFieldName: "selectedRow", ajaxUpdateContainerId: "gridContent"); 
    grid.Pager(WebGridPagerModes.NextPrevious); 
    ViewBag.Title = "Data results"; 
} 

@{ 
    ViewBag.Title = "Results"; 
    Layout = "~/Views/Shared/_InternalLayout.cshtml"; 
} 

<h2>Data Results</h2> 
<div id="gridContent"> 
    <p class="text-success">@ViewBag.Result</p> 
    <p class="text-danger">@Html.ValidationMessage("Error")</p> 

@using (Html.BeginForm("ReportTable", "ControllerName", FormMethod.Get)) 
{ 
    @grid.GetHtml(

    tableStyle: "webGrid2 ReportTable", 
         headerStyle: "header", 
         alternatingRowStyle: "alt", 
         selectedRowStyle: "select", 
         columns: grid.Columns(
            grid.Column("Number", "Destination", canSort: false), 
            grid.Column("Received", "Receive Time", canSort: false), 
            grid.Column("Message", "Message", canSort: false), 
            grid.Column("Resubmit", format: @<text><input class="chkbox" id="resubChkbx" name="ResubmitChkbx" type="checkbox" value="@item.ID" /></text>) 
         ))} 
</div> 

であり、これは

私が手
public ActionResult ReportTable() 
     { 
      return View("ReportTable"); 

} 

エラーコードがあるコントローラ以下の通りです:この操作はでき前に

データソースをバインドする必要があります行われた

ハイライト@ grid.Gethtml

+1

あなたは、データがお返事のため – ADyson

答えて

1

WebGridのソースを渡しませんでした。

public ActionResult ReportTable() 
{ 
    var yourmodel=new List<YouModelType>(); /// generate model 
    return View(yourmodel);//// pass model parameter to view 
} 
+0

感謝から来ているグリッドに語った...しかし、なぜリストではなく、新たなモデルがありますか? –

+1

@jacopk。 WebGridは 'IEnumerable ' – esiprogrammer

関連する問題