大家好>
我有一个detailsview,其中有3个绑定字段和一个模板字段。
模板字段有一个DropDownList,我已连接到AccessDataSource。
但是当我运行时,下拉列表只有“System.Data.DataRowView”作为项目。
我希望将数据库中的项目列在DropDownList
中这是我的代码
asp:TemplateField HeaderText="State/Province" SortExpression="State/Province">
<EditItemTemplate>
<asp:DropDownList ID="ddlState" runat="server" DataSourceID="AccessDataSource1"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/db1.mdb"
SelectCommand="SELECT [State/Province_name] FROM [State/Province_List ]">
</asp:AccessDataSource>
</EditItemTemplate>
</asp:TemplateField>
我应该为DropDownList添加“DataBinding”或“DataBound”事件吗?使其完美?
帮助我解决这个问题
谢谢, 阿琼
答案 0 :(得分:0)
在下拉列表中定义要使用的字段
<asp:DropDownList ID="ddlState" runat="server"
DataSourceID="AccessDataSource1"
DataTextField="State/Province_name"
DataValueField="State/Province_name"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
如果您对此非标准列名称有疑问,请尝试使用别名
SELECT [State/Province_name] AS StateProv FROM [State/Province_List ]
([State/Province_List ]
中的空格是否正常?)
然后使用这个
<asp:DropDownList ID="ddlState" runat="server"
DataSourceID="AccessDataSource1"
DataTextField="StateProv"
DataValueField="StateProv"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>