使用硬编码值绑定下拉列表
本文关键字:绑定 下拉列表 编码值 | 更新日期: 2023-09-27 18:23:36
我有一个带有硬编码值的下拉列表:
<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>
我想用它来插入和编辑数据库中的值。例如,当添加记录时,用户选择"report",然后将"report"插入数据库。然后,如果用户去编辑页面,因为数据库中的值是"report",则下拉列表必须显示选中的"report"。但我可以成功地将值存储在DB中,但在编辑页面时无法检索到所选页面。我正在使用实体框架,所以,我厌倦了很多方法,但无法在编辑页面中获得值。这是我试过的方法。
DropDown.SelectedValue = bulList.intype.ToString();
//intype是我从DB获得的值,它返回当前值,但在DropDown.selectedvalue中传递null。
有人能帮助我吗?我还有什么其他方法可以在下拉列表中获得值。
感谢
您必须在下拉列表中找到文本并将所选属性设置为true示例:
//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;
您也可以使用FindByValue执行类似操作。更多信息请点击此处:http://forums.asp.net/t/1004541.aspx/1
BulletinTypeDropDown.SelectedValue = valueFromDb;
因此dropdownlist保持默认值,如果是这样,请在代码中找到一个绑定方法,可能是在页面加载中
否则,如果bulList.intype
返回值,我认为下拉列表不可能拒绝显示所选值。可能是检查返回值中的空格。试试这个:
string s = = bulList.intype.ToString().Trim();
DropDown.SelectedValue = s;
以下是可能对您有用的灵魂。所以创建你的下拉列表。
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
onload="DropDownList1_Load" >
</asp:DropDownList>
protected void DropDownList1_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
List<string> DDLlist = new List<string>();
DDLlist.Add("Report");
DDLlist.Add("News");
DropDownList1.DataSource = DDLlist;
DropDownList1.SelectedValue = "Report";
DropDownList1.DataBind();
}
您可以添加到DDLlist以动态添加新项目。