0

我在 aspx 页面上有这段代码。

<asp:DropDownList runat="server" ID="ddlSize" CssClass="textbox" Width="100px">
<asp:ListItem Value="" Text="" />
<asp:ListItem Value="11" Text="11. Mands" />
<asp:ListItem Value="7" Text="7. Mands" />
<asp:ListItem Value="" Text="Ikke Kamp"/>
</asp:DropDownList>


 <asp:DropDownList runat="server" ID="ddlType" CssClass="textbox" Width="100px">
 <asp:ListItem Value="" Text="" />
 <asp:ListItem Value="K" Text="Kamp" />
 <asp:ListItem Value="T" Text="Træning" />
 <asp:ListItem Value="E" Text="Aktivitet"/>
 </asp:DropDownList>

ts 在带有其他字段(文本框)的登录视图中我试图将记录 id 放入页面中以便我可以编辑它,我已经使用文本框修复它并且它的工作 100%,但我无法从数据库中获取值到下拉列表,因此它显示该值被选中。我已经尝试了这 3 个代码,但下拉列表没有任何效果。

// DataValueField               
Dim drop_obj As DropDownList = TryCast(LoginView2.FindControl("ddlSize"), DropDownList)
drop_obj.DataValueField = dtEvents.Rows(0)("EventEventSize")

Dim drop_obj2 As DropDownList = TryCast(LoginView2.FindControl("ddlType"), DropDownList)
drop_obj2.DataValueField = dtEvents.Rows(0)("EventType")

// SelectedIndex
Dim drop_obj As DropDownList = TryCast(LoginView2.FindControl("ddlSize"), DropDownList)
drop_obj.SelectedIndex = dtEvents.Rows(0)("EventEventSize")

Dim drop_obj2 As DropDownList = TryCast(LoginView2.FindControl("ddlType"), DropDownList)
drop_obj2.SelectedIndex = dtEvents.Rows(0)("EventType")

// SelectedValue
Dim drop_obj As DropDownList = TryCast(LoginView2.FindControl("ddlSize"), DropDownList)
drop_obj.SelectedValue = dtEvents.Rows(0)("EventEventSize")

Dim drop_obj2 As DropDownList = TryCast(LoginView2.FindControl("ddlType"), DropDownList)
drop_obj2.SelectedValue = dtEvents.Rows(0)("EventType")

有人可以吗?帮助 !?我在 2 dtEvents.Rows(0) 中有值,我已经检查过,通过调试然后单步执行。我得到像 7 或 11 和 T 或 K 这样的值。

4

1 回答 1

0

我认为您正在尝试将您的表格日期绑定到您的列表。

您想利用这两个属性:

DataTextField
DataValueField

因此,您希望将您的DataTextField(用户将看到的)设置为包含显示文本的列,然后将您的DataValueField(将不会看到的项目的值)设置为包含该列的列。然后你想打电话DataBind()

例如(我的VB很生锈):

Dim myDDL AS DropDownList();

myDDL.DataTextField = myTable("ColumnDataUserSees")
myDDL.DataValueField = myTable("ColumnDataIWillUse")
myDDL.DataBind()

绝对检查该语法。我已经使用 C# 几个月了,但没有使用 VB,所以这可能不是 100%。

于 2012-09-13T21:35:08.123 回答