在DetailsView控件中放置DropDownList而不是TextBox

时间:2016-01-26 13:57:48

标签: c# asp.net entity-framework

我有一个绑定到edmx文件的EntityDataSource控件。 我创建了一个detailsview并将它的DataSource属性设置为entitydatasource控件。

enter image description here

现在我想把一个DropDownList而不是TextBox用于" no_region_code"在插入模式下。 这是我从互联网上发现的,但是当我点击detailview的插入按钮时,它不会将dropdownlist的内容插入到表中。

<asp:TemplateField HeaderText="no_region_code" SortExpression="no_region_code">

                <InsertItemTemplate>
                    <asp:DropDownList ID="drp_region_list" runat="server" DataMember="no_region_code">
        <asp:ListItem Value="41">tabriz</asp:ListItem>
        <asp:ListItem Value="21">tehran</asp:ListItem>
    </asp:DropDownList>
                </InsertItemTemplate>

            </asp:TemplateField>

如何设置下拉列表而不是这些文本框?

1 个答案:

答案 0 :(得分:1)

您没有绑定DropDownList上的任何属性。试试这样的事情

 <asp:DropDownList ID="drp_region_list" runat="server"  SelectedValue='<%# Bind("no_region_code")%>' DataMember="no_region_code">
        <asp:ListItem Value="41">tabriz</asp:ListItem>
        <asp:ListItem Value="21">tehran</asp:ListItem>
 </asp:DropDownList>

编辑:bind表示将属性从后面的代码(或模型)链接到asp控件的方法。这种绑定是双向的。例如,如果后面的代码中已经有no_region_code属性的值,则下拉列表已经在视图中选择了该值。谷歌asp.net数据绑定,你会发现很多例子和一些更深入的解释。