将List<string>绑定到asp.net 3.5中的Listview

11

如何将ASP.NET 3.5中的List绑定到下拉列表(<select>)?

  <asp:ListView ID="lvDiagnosisCodes" runat="server">
            <LayoutTemplate>
                <ul>
                    <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
                </ul>
            </LayoutTemplate>
            <ItemTemplate>
                <li>
                    <%# Eval("Name") %>
                </li>
            </ItemTemplate>

        </asp:ListView>

我不太确定在Eval部分该使用什么。由于这是一个通用的字符串列表,没有列名。

提前致谢。

2个回答

19

不要使用Eval。直接绑定它:

<%# Container.DataItem %>

奇怪,这在我的代码中可以运行。你确定列表中的字符串不是空的吗? - onof

2

您只需要创建一个匿名对象并将其设置为Listview的Datasource属性即可。

因此,如果您有一个字符串列表或数组,请执行以下操作:

Dim myListOfStuff() As String = Manager.FetchMyStuff()

Me.lvDiagnosisCodes.DataSource = (From s In myListOfStuff Select New With {.Name = s}).ToArray
Me.lvDiagnosisCodes.DataSource.DataBind()

这样,您可以在前端使用<%# Eval("Name") %>并绑定到一个“属性”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接