【问题标题】:selecting item from dropdown based on db record根据数据库记录从下拉列表中选择项目
【发布时间】:2017-02-09 05:35:35
【问题描述】:

我在 asp.net 应用程序 c# 中有这个 dropdown。当我从数据库中获取一行时,我希望下拉菜单从dropdown 中选择相应的值。就像如果我已将我的姓名保存在数据库中并且下拉列表包含姓名列表,那么在搜索按钮单击下拉菜单时应显示我的姓名已被选中,而不是它会覆盖初始项目“请选择”并写下我的姓名。当我按下搜索时,它显示validator“请选择一个名字”,我必须下拉并再次选择我的名字,然后继续。 代码:

 ddl_bank.SelectedItem.Text= dt.Rows[0]["BANK_NAME"].ToString();

这是下拉菜单

            <label for="textfield">&nbsp;Bank Name</label>&nbsp;
            <asp:DropDownList Font-Size="Small" ID="ddl_bank" runat="server" AutoPostBack="true"
                AppendDataBoundItems="True"
                OnSelectedIndexChanged="ddl_bank_SelectedIndexChanged">
                <asp:ListItem Value="0" Selected="True" Text="Select Bank Name"></asp:ListItem>
            </asp:DropDownList>
            <asp:RequiredFieldValidator
                ID="RequiredFieldValidator3" runat="server" InitialValue="0"
                ControlToValidate="ddl_bank" Display="Dynamic" ErrorMessage="Please select a bank"
                SetFocusOnError="True" Font-Italic="True" ForeColor="Red">
            </asp:RequiredFieldValidator>

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    将您的代码更改为

    ddl_bank.Items.FindByText(dt.Rows[0]["BANK_NAME"].ToString()).Selected = true;
    

    使用SelectedItem.Text 设置DropDownList 中当前选定项目的文本,从而覆盖您对它的体验。

    我提供的代码首先通过文本(或使用FindByValue 代替值)在列表中找到相应的项目,然后选择它。

    您可能会收到一条错误消息,指出您只能在 DropDownList 中选择一项, 在上面的代码之前使用ddl_bank.ClearSelection();

    【讨论】:

    • 它说 .FindItemsByText 找不到
    • 现在更新了。
    • 很高兴我能帮上忙!祝你好运,不要犹豫回来回答问题(当然是在新帖子中)。 ;)
    • 当然 :) 你救了我的工作 :)
    【解决方案2】:

    使用 DropDownList 的“SelectedValue”属性

    注意:首先您需要将数据绑定到 dropdonwnlist,然后使用“SelectedValue”来选择下拉列表选项。

    ddl_bank.SelectedValue= dt.Rows[0]["BANK_NAME"].ToString();
    

    【讨论】:

    • 好的,我已经绑定了下拉列表,现在它有银行的名称。当我第一次保存我的记录时,我从下拉列表中选择一个银行名称。现在下次我获取我的记录时,我希望它从下拉列表中选择它从 db 获取的值,这正是我的问题。因为我的物品没有价值
    • 感谢您的推荐 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 2014-08-28
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多