C# 填充的Dropdownlist工作不正常
这里ext存储“System.Web.UI.WebControls.Label”,但我想在dropdownlist中检索所选文本。这里有什么问题? 我正在基于dropdownlist1填充dropdownlist2。请参考以下代码C# 填充的Dropdownlist工作不正常,c#,asp.net,C#,Asp.net,这里ext存储“System.Web.UI.WebControls.Label”,但我想在dropdownlist中检索所选文本。这里有什么问题? 我正在基于dropdownlist1填充dropdownlist2。请参考以下代码 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { a = DropDownList1.SelectedItem.Text; DropD
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
a = DropDownList1.SelectedItem.Text;
DropDownList2.Items.Clear();
if (a == "Electronic")
{
DropDownList2.Items.Add(new ListItem("---Select SubCategory---","0"));
DropDownList2.Items.Add(new ListItem("Mobile", "1"));
DropDownList2.Items.Add(new ListItem("Tablet", "2"));
DropDownList2.Items.Add(new ListItem("Laptop", "3"));
DropDownList2.Items.Add(new ListItem("Accessories", "4"));
}
else if (a == "Kitchen")
{
DropDownList2.Items.Add(new ListItem("---Select SubCategory---", "0"));
DropDownList2.Items.Add(new ListItem("Cookware", "1"));
DropDownList2.Items.Add(new ListItem("Dinner set", "2"));
DropDownList2.Items.Add(new ListItem("Food processor", "3"));
DropDownList2.Items.Add(new ListItem("Microwave", "4"));
}
else if (a == "Books")
{
DropDownList2.Items.Add(new ListItem("---Select SubCategory---", "0"));
DropDownList2.Items.Add(new ListItem("Entrance exam", "1"));
DropDownList2.Items.Add(new ListItem("Fiction", "2"));
DropDownList2.Items.Add(new ListItem("Romance", "3"));
DropDownList2.Items.Add(new ListItem("Thriller", "4"));
}
else if (a == "Beauty")
{
DropDownList2.Items.Add(new ListItem("---Select SubCategory---", "0"));
DropDownList2.Items.Add(new ListItem("Mens perfume", "1"));
DropDownList2.Items.Add(new ListItem("Womens perfume", "2"));
}
string ext = DropDownList2.SelectedItem.Text;
}
编辑:
这里的问题是我正在使用验证&如果我按下提交按钮,它一定不允许提交。但我有4个以上的按钮用于导航,验证不允许我使用这些按钮,即它应该允许我执行按钮2的代码,不允许提交
因此,您的意思是希望验证只与提交按钮一起工作,而不是与所有按钮一起工作。您可以参考本页: 因此,通过这种方式,您可以仅使用您拥有的Submit按钮来分配验证 例如:
<asp:textbox id="AgeTextBox"
runat="Server">
</asp:textbox>
<br/>
<asp:requiredfieldvalidator id="RequiredFieldValidator2"
controltovalidate="AgeTextBox"
validationgroup="PersonalInfoGroup"
errormessage="Enter your age."
runat="Server">
</asp:requiredfieldvalidator>
<br/>
<asp:button id="Button1"
text="Validate"
causesvalidation="true"
validationgroup="PersonalInfoGroup"
runat="Server" />
因此,您的意思是希望验证只使用提交按钮,而不是所有按钮。您可以参考本页:
因此,通过这种方式,您可以仅使用您拥有的Submit按钮来分配验证
例如:
<asp:textbox id="AgeTextBox"
runat="Server">
</asp:textbox>
<br/>
<asp:requiredfieldvalidator id="RequiredFieldValidator2"
controltovalidate="AgeTextBox"
validationgroup="PersonalInfoGroup"
errormessage="Enter your age."
runat="Server">
</asp:requiredfieldvalidator>
<br/>
<asp:button id="Button1"
text="Validate"
causesvalidation="true"
validationgroup="PersonalInfoGroup"
runat="Server" />
首先
这是一种基于父值硬编码下拉列表的糟糕方法。将来在代码中添加/删除项时,很难维护这一点。您可以做的是在数据库中创建一个单独的表,并使用与父表的外键关系将项目存储在该表中,如
Tbl_Categories Tbl_Items
---------------------------- -----------------------------------
CategoryID Description ItemID CategID Description
---------------------------- -----------------------------------
1 Electronics 1 1 Mobiles
2 Kitchen 2 1 Tablets
3 Books 3 1 Laptops
4 Beauty 4 1 Accessories
然后,您只需定义dropdownlist的数据源,以根据父下拉列表的selectedValue进行过滤。不需要手动编码。你可以在这篇文章中检查答案作为起点
说到你的主要问题
您可以在“提交”按钮上定义一个验证组&验证控件。这使您能够仅在按下该按钮时调用验证
首先
这是一种基于父值硬编码下拉列表的糟糕方法。将来在代码中添加/删除项时,很难维护这一点。您可以做的是在数据库中创建一个单独的表,并使用与父表的外键关系将项目存储在该表中,如
Tbl_Categories Tbl_Items
---------------------------- -----------------------------------
CategoryID Description ItemID CategID Description
---------------------------- -----------------------------------
1 Electronics 1 1 Mobiles
2 Kitchen 2 1 Tablets
3 Books 3 1 Laptops
4 Beauty 4 1 Accessories
然后,您只需定义dropdownlist的数据源,以根据父下拉列表的selectedValue进行过滤。不需要手动编码。你可以在这篇文章中检查答案作为起点
说到你的主要问题
您可以在“提交”按钮上定义一个验证组&验证控件。这使您能够仅在按下该按钮时调用验证
您有两种解决方案:
你能解释清楚你的问题吗?代码中的ext始终等于“----选择子类别---”。您是对值ext的问题还是对方法未被调用的问题?您能更清楚地解释一下您的问题吗?代码中的ext始终等于“----选择子类别---”。您的问题是值ext还是方法没有被调用?