DropDownList
:
<asp:DropDownList CssClass="DropDownForm" ID="PositionShift" runat="server">
<asp:ListItem Text="Please Select" Value="" />
<asp:ListItem Text="option1" Value="1" />
<asp:ListItem Text="option2" Value="2" />
<asp:ListItem Text="option3" Value="3" />
<asp:ListItem Text="option4" Value="4" />
<asp:ListItem Text="option5" Value="5" />
<asp:ListItem Text="option6" Value="6" />
<asp:ListItem Text="option7" Value="7" />
</asp:DropDownList>
Label
:
<asp:Label ID="RequisitionNumberLabel" Text="Requisition Number" runat="server"></asp:Label>
TextBox
:
<asp:TextBox ID="RequisitionNumberTextbox" runat="server"></asp:TextBox>
所以,我希望当选择任何选项1,5或6时,RequisitionNumberTextbox
字段应该是必需的,标签上带有“*”。
我找到了一些相关的例子,然后我尝试了Jquery
,但我无法自己解决。
答案 0 :(得分:0)
一种选择是使用AngularJs并根据下拉列表的值设置ng-required属性的值。
答案 1 :(得分:0)
创建了下拉列表中选定的索引更改方法。在该编写代码中,如果选择了选项1,5,6,则更改标签的标题,包括Astrix对名称。还添加一个必需的字段验证器,默认情况下禁用。选择选项1,5,6后,启用验证器。
希望这会奏效。
答案 2 :(得分:-1)
在.cs文件中的SelectedIndexChanged事件中添加以下代码
protected void PositionShift_SelectedIndexChanged(object sender, EventArgs e)
{
if (PositionShift.SelectedIndex == 1 || PositionShift.SelectedIndex == 3 || PositionShift.SelectedIndex == 5)
{
RequisitionNumberLabel.Text = "*";
}
else
{
RequisitionNumberLabel.Text = "Requisition Number";
}
}
另外,将DropDownList的Autopostback属性设置为True。