2

我正在尝试使用以下代码在选择中显示一些数据:

<select name="area" runat="server">
    <asp:Repeater ID="RepeaterArea" runat="server">
    <ItemTemplate>
        <option value="<%# Eval("Id") %>"><%# Eval("Area") %></option>
    </ItemTemplate>
    </asp:Repeater>
</select>

但不幸的是,我收到以下错误:The server tag is not well formed.

如果我尝试将其更改为,则会value="<%# Eval('Id') %>"收到一条错误消息:CS1012: Too many characters in character literal

非常欢迎任何建议,谢谢!

4

3 回答 3

3

正如另一张海报提到的,使用 DropDownList。它们非常易于使用。

在您的 ASPX 页面上:

<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>

在你后面的代码中:

DataTable dtItems = GetData();
DropDownList1.DataSource = dtItems; // Pretty much anything that can be iterated over or a collection (DataTable, List, etc)
DropDownList1.DataTextField = "Some Field"; // This is what the user sees. If this is a DataTable, "Some Field" is the name of a column in the table.
DropDownList1.DataValueVield = "Some Unique Value"; // Again, "Some Unique Value" is a column in the DataTable
DropDownList1.DataBind();

即使您是 ASP.Net 的新手,这确实比您想象的要容易。

于 2013-09-06T20:01:23.693 回答
2

为什么要这样做,为什么不直接使用下拉列表控件。

于 2013-09-06T16:10:37.850 回答
0
<option value='<%# Eval("Id") %>'><%# Eval("Area") %></option>

您需要在 eval 语句周围加上单引号。

于 2013-09-06T16:10:16.337 回答