我要做的是在编辑条目时,将下拉列表设置为它在数据库中的值。我可以很好地将下拉列表的值保存到数据库中,但我似乎无法在浏览器中设置控件以显示此内容。也就是说,选择的值"4“被保存到数据库中的条目ABC,但是当我返回到这个条目再次编辑它时,这不是选择的值--它是下拉列表中的第一项。
这是我的代码,用于在编辑条目时设置下拉列表的选定值,但它不起作用:
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["AbleCommerce"].ToString()))
{
cn.Open();
SqlCommand cmd = new SqlCommand(selectQuery, cn);
cmd.Parameters.Add(new SqlParameter("@CustomerID", custIDHidden.Value));
using (IDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
TaxExemptDDL.SelectedValue = reader["TaxExemptFile"].ToString();
}
}
cn.Close();
}控件本身(值是存储在数据库中的内容,而不是文本):
<asp:DropDownList ID="TaxExemptDDL" style="width:165px;" runat="server">
<asp:ListItem Text="True" Value="1" />
<asp:ListItem Text="False" Value="0" />
</asp:DropDownList>我是不是走错路了?这看起来很简单,但不知何故我似乎搞错了……
发布于 2014-08-06 21:04:46
您不能这样设置SelectedValue。
ListItem itemToSelect = TaxExemptDDL.Items.FindByValue(reader["TaxExemptFile"].ToString());
if (itemToSelect != null)
{
TaxExemptDDL.SelectedIndex = TaxExemptDDL.Items.IndexOf(itemToSelect);
}为什么没有人让在这里发布代码变得更容易?就像其他网站一样,你可以把内容放在代码标签之间,它会格式化代码。在这里发布代码是一项艰巨的工作。而且编辑内容也不总是更新。
发布于 2016-02-18 20:27:03
**您可以通过手动从设计或从数据库的值将项目添加到下拉列表中。如果你在一个要编辑的页面中,并且你想要将dropdownlist的值设置为数据库中的值,那么将数据库中的selected值转换为string,然后这样做。在我的示例中,我想在dropdownlist中显示课程列表&我在数据库中选择的课程是"php“。Bt我的下拉列表的顺序是
安卓
asp.net
java
php
在页面加载中**
string course="php";
ListItem itm =新课程(“ListItem”,"course");
下拉列表1.SelectedIndex= DropDownList1.Items.IndexOf(itm);
现在,当页面加载dropdownlist时,选中的项将是"php“。
https://stackoverflow.com/questions/25160839
复制相似问题