我尝试做的是将下拉列表设置为编辑条目时数据库中的值。我可以将下拉列表的值保存到数据库中,但我似乎无法在浏览器中设置控件来显示此信息。 I.E.选择的" 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>
我是以错误的方式来做这件事的吗?这似乎很简单,但我似乎错了...
答案 0 :(得分:0)
你不能像那样设置SelectedValue。
ListItem itemToSelect = TaxExemptDDL.Items.FindByValue(reader["TaxExemptFile"].ToString());
if (itemToSelect != null)
{
TaxExemptDDL.SelectedIndex = TaxExemptDDL.Items.IndexOf(itemToSelect);
}
为什么没有人在此处发布代码更容易?像其他网站一样,你可以把东西放在[Code]标签之间,它会格式化代码。在这里发布代码很难。编辑并不总是更新。
答案 1 :(得分:0)
**您可以通过手动设计或数据库中的值将项目添加到下拉列表中。 如果您在一个页面中进行编辑,并且您想在数据库值中设置下拉列表选择值,则将所选值从数据库中取出为字符串并执行此操作。 在我的例子中,我想在下拉列表中显示课程列表&amp;我在数据库中选择的课程是“php”。 我的下拉列表是
的顺序机器人
asp.net
的java
PHP
在PageLoad **
string course =“php”;
ListItem itm = new ListItem(“course”,“course”);
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(itm);
现在当页面加载dropdownlist时,所选项目将为“php”。