我似乎在使用 DropDownList 时遇到了一些问题。我有一个按钮,通常应该从选定的 DropDownList 中获取文本,并在按钮单击时在我的代码中进行比较。问题是 DropDownList 每次都返回第一项。这是我的代码:
<asp:DropDownList ID="SubcategoryList" runat="server"
DataSourceID="SubCategoryDataSource" DataTextField="SubCategoryName"
DataValueField="CategoryId">
</asp:DropDownList>
<asp:SqlDataSource ID="SubCategoryDataSource" runat="server"
ConnectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True"
ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [SubCategoryName], [CategoryId] FROM [forum_subcategories] WHERE ([CategoryId] = @CategoryId)">
<SelectParameters>
<asp:ControlParameter ControlID="CategoryListSelect" Name="CategoryId"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
string item = SubcategoryList.SelectedItem.Text;
每次我按下按钮而不是 item 获取我选择的项目的值时,我都会得到第一个 Item 的值。
我在这里做错了什么?
按钮点击代码
protected void Button9_Click( object sender , EventArgs e ) {
try
{
Label4.Visible = true;
Label4.Text = "Subcategory deleted";
string itemSelected = SubcategoryList.SelectedItem.Text;
DataAccess.insertDeleteCategory(itemSelected , "forum_delete_subcategory");
addForumData();
}catch(Exception ex)
{
Label4.Text = ex.Message;
}
}