无法从loginview中的数据库获取数据到下拉列表

时间:2012-09-13 14:30:50

标签: asp.net vb.net ms-access ado.net

我在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在一个其他字段(文本框)的loginview中 我试图获取一个记录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的值。

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试将您的表格与您的列表进行约会。

您想要使用这两个属性:

DataTextField
DataValueField

因此,您希望将DataTextField(用户将看到的内容)设置为列taht包含显示文本,然后您要设置DataValueField(赢得的项目的值)没有看到包含它的列。然后你想打电话给DataBind()

例如(我的VB非常生疏):

Dim myDDL AS DropDownList();

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

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