2011-10-04 103 views
0

我正在使用telerik ASP.NET MVC Grid模板,並且當前有幾個複選框(表中的每列一個)。這樣用戶可以選擇他們想要在網格中顯示哪些列。我可以在ASP.NET MVC中使用linq做一個foreach列嗎?

而不是手動寫出視圖上的每個複選框,我可以使用foreach循環讓每個複選框在視圖上爲我生成?

我期待以取代這樣的事情:

<%= Html.CheckBox("SomeColumnID", false, "Something")%><label for="SomeColumnID">Some Label</label> 
// . . . over and over again for each column 

像這樣的東西:

<%foreach (ColumnInGivenDB) 
{%> 
    <%= Html.CheckBox(SomeColumnIDVariable, false, SomeOtherVariable)%><label for=SomeColumnIDVariable>Some Label</label> 
<%}%> 

任何想法?

回答

0

看起來你幾乎在那裏,但缺少綁定到Model或一個如果其屬性的一部分。

你的意思是類似於以下內容?

舉個例子,我有UserName屬性

<% foreach (var item in Model) { %> 

    <tr> 
     <td> 
      <%=Html.CheckBox(item.UserId, (IsChecked logic here)) %> 
      <label for="<%=item.UserId%>"><%=item.UserName %></label> 
     </td> 

    </tr> 

<% } %> 
+0

這綁定到一個簡單的對象就是我一直在尋找。我發現其中一列被命名爲標題,因此標籤不適用於該標題,因爲標題是HTML標記的一部分。我知道我可以放一個if item.UserID ==「title」,但從長遠來看,我可以通過手動執行每個複選框來控制顯示的內容,而不是使用foreach。謝謝你的幫助:) –

+0

不客氣! –

相關問題