2012-06-23 23 views
0

在asp.net mvc3項目中,iam使用ienumerable視圖來顯示webgrid中對象的集合。在同一視圖中,我使用html helper方法來創建對象。我得到的helper方法錯誤「System.collection.generic.ienumerable < ...>不包含定義< ...>」如何在同一視圖上使用webgrid和html helper方法

@model IEnumerable<TRADEBLOTTER_MVCPOC.Models.Trader /> 
@{ 
    ViewBag.Title = "NewTrader"; 
} 

@{ 
     var grid = new WebGrid(source: Model, 
          defaultSort: "TradeID", 
          rowsPerPage: 5, fieldNamePrefix: "wg_", 
          canPage: true, canSort: true, 
          pageFieldName: "pg", sortFieldName: "srt"); 
} 

<h2>NewTrader</h2> 
@using (Html.BeginForm(FormMethod.Post)) 
{ 
@Html.ValidationSummary() 
<table cellpadding="0" cellspacing="0" width="100%"> 
    <tr> 
     <td> 
     @Html.LabelFor(t=>t.TraderName,"Trader Name") 
     </td> 
     <td> 
     @Html.TextBoxFor(t=>t.TraderName) 
     </td> 
    </tr> 
    <tr> 
     <td> 
     </td> 
     <td> 
     <input type="submit" value="Submit Trader" /> 
     </td> 
    </tr> 
</table> 
} 
+0

什麼幫手 –

+0

labelfor和textboxfor –

+0

嘗試刪除「交易名稱」看變化anythink –

回答

0

我覺得通常你會使用類似的東西在模型您的變量

[DisplayName("Trader Name")] 
public string TraderName { get; set; } 

,然後你的看法以上

<h2>NewTrader</h2> 
@using (Html.BeginForm(FormMethod.Post)) 
{ 
@Html.ValidationSummary() 
<table cellpadding="0" cellspacing="0" width="100%"> 
    <tr> 
     <td> 
     @Html.LabelFor(t=>t.TraderName) 
     </td> 
     <td> 
     @Html.TextBoxFor(t=>t.TraderName) 
     </td> 
    </tr> 
    <tr> 
     <td> 
     </td> 
     <td> 
     <input type="submit" value="Submit Trader" /> 
     </td> 
    </tr> 
</table> 
} 
0

我的建議:使用部分頁面網格(具備了IEnumerable版本模型)和單個變量的另一個局部頁面(單個模型)。

如果網格僅顯示信息而不編輯任何內容,則將網格綁定到模型中定義的方法 - 那麼不需要該視圖具有IEnumberable模型。

+0

我居然落得這樣做不是爲整個頁面使用的IEnumerable,但只是爲需要它的控制。 –

相關問題