2012-02-15 58 views
0

大家好下拉列表中的DetailsView,没有上市的项目

我有一个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? ?使它完美?

帮我对这个问题

感谢, 阿琼

回答

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 ] OK的空间?)

然后用这一个

<asp:DropDownList ID="ddlState" runat="server" 
    DataSourceID="AccessDataSource1" 
    DataTextField="StateProv" 
    DataValueField="StateProv" 
    OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
</asp:DropDownList> 
+0

奥利维尔您好,感谢您的答复。我试过了。它会抛出这个错误“”DataBinding:'System.Data.DataRowView'不包含名称为'State/Province_name'的属性。“” – 2012-02-15 17:19:49

+0

请参阅我对列别名的编辑。 – 2012-02-15 17:22:29

+0

我又收到同样的错误! – 2012-02-15 17:23:14