【问题标题】:Can I do a foreach Column with linq in ASP.NET MVC?我可以在 ASP.NET MVC 中使用 linq 做一个 foreach 列吗?
【发布时间】:2011-12-01 00:34:15
【问题描述】:

我正在使用telerik ASP.NET MVC Grid 模板,目前有几个复选框(一个用于表中的每一列)。这样用户就可以选择他们想要在网格中显示的列。

我可以使用 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>
<%}%>

有什么想法吗?

【问题讨论】:

    标签: asp.net-mvc linq linq-to-sql foreach


    【解决方案1】:

    您似乎快到了,但缺少与 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>
    
    <% } %>
    

    【讨论】:

    • 这就是我要找的。我发现其中一列被命名为标题,因此标签不适用于该列,我猜,因为标题是 HTML 标记的一部分。我知道我可以放一个 if item.UserID == "title",但从长远来看,我可以通过手动而不是使用 foreach 来更好地控制显示的内容。谢谢你的帮助:)
    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2013-09-16
    • 2016-11-07
    • 1970-01-01
    • 2023-03-20
    • 2016-06-24
    • 2015-07-06
    相关资源
    最近更新 更多