我在aspx页面中定义了这个下拉列表。
<td style=" font-family:Consolas; ">Select the Category</td>
<td><asp:DropDownList ID="ddl_cat" runat="server" Width="100px" >
</asp:DropDownList></td>
它的代码隐藏是:
SqlCommand cmd = new SqlCommand("select * from main_catTbl", sc.con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
ddl_cat.DataSource = ds;
ddl_cat.DataTextField = "material";
ddl_cat.DataValueField = "mid";
string a = ddl_cat.SelectedItem.Value;
ddl_cat.DataBind();
sc.con.Dispose();
sc.con.Close();
项目显示在下拉列表中。但是当我选择一些项目并使用时
string st = ddl_cat.SelectedItem.Value
它始终显示下拉列表的第一项。
我错过了什么吗?
答案 0 :(得分:1)
检查你的函数是否包含上面的代码隐藏(在你的问题中)没有在回发中调用。我的意思是它应该在页面上调用而不是回发。 即
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
your_function();
}
}
答案 1 :(得分:0)
希望上面的代码是在组合框的Data_bound事件下给出的,不是吗? 要获得所选值,必须按如下方式给出代码
private void ddl_cat_SelectedIndexChanged(System.Object sender, System.EventArgs e)
{
string a = ddl_cat.SelectedItem.Value;
}