使用硬编码值绑定下拉列表

问题描述 投票:0回答:4

我有一个带有硬编码值的下拉列表:

<asp:DropDownList ID="BulletinTypeDropDown" runat="server">
    <asp:ListItem Selected="True" Text="--Select--" Value="--Select--"></asp:ListItem>
    <asp:ListItem Text="News" Value="News"></asp:ListItem>
    <asp:ListItem Text="report" Value="report"></asp:ListItem>
    <asp:ListItem Text="System" Value="System"></asp:ListItem>
    <asp:ListItem Text="Reminder" Value="Reminder"></asp:ListItem>
</asp:DropDownList>

我想用它来插入和编辑db中的值。例如,当添加记录时,用户选择“报告”并将“报告”插入到数据库中。然后,如果用户去编辑页面,因为数据库中的值是“报告”,则下拉列表必须显示“报告”。但我能够成功地将值存储在数据库中,但我无法在编辑页面中检索所选页面。我正在使用实体框架工作,所以,我厌倦了很多方式,但无法在编辑页面中获得价值。这是我尝试的方式。

qazxsw poi // type是我从DB得到的值,它返回正确的值,但在DropDown.selectedvalue中传递null。

有人可以帮助我,我可以通过其他方式获取我的下拉列表中的值。

谢谢

c# asp.net drop-down-menu bind
4个回答
0
投票

您必须在下拉列表中找到文本并将selected属性设置为true示例:

DropDown.SelectedValue = bulList.intype.ToString();

您也可以使用FindByValue执行类似操作。更多信息://pass the string you want to set selected to true --> assuming in your case bulList.intype.ToString() BulletinTypeDropDown.Items.FindByText(bulList.intype.ToString()).Selected = true;



0
投票

因此,下拉列表保持默认值,如果是这样,可能在页面加载内找到代码中的绑定方法。 否则,如果BulletinTypeDropDown.SelectedValue = valueFromDb; 返回值,我认为下拉列表无法拒绝显示所选值。可以检查空格的返回值。试试这个:

bulList.intype

0
投票

这是可能适合您的解决方案。所以创建下拉列表。

string s =  = bulList.intype.ToString().Trim();
DropDown.SelectedValue = s;

您可以添加到DDLlist以动态添加新项目。

© www.soinside.com 2019 - 2024. All rights reserved.