[英]Enabling and Disabling Button in asp.net c# code behind and javascript
[英]enabling/disabling validation from code behind c#
我為表單編寫了一些ASP代碼。 其中一個字段必須具有3種驗證類型,其中2種始終啟用,只有從下拉列表中選擇了特殊值后,其他2種才必須“啟用”。 我應該如何完成這項任務? 我默認禁用了2個額外的驗證,並且想在下拉列表特定選擇上重新激活。
我在這里向您展示我的代碼。 ASP.NET代碼:
<tr>
<td class="style1">
<asp:Label ID="LabelPiva" runat="server" Text="Partita IVA" meta:resourcekey="LabelPiva" Font-Bold="True" />
</td>
<td>
<asp:TextBox ID="pivaTextBox" runat="server" Text='<%# Bind("piva") %>'
MaxLength="50" Width="400px" />
<asp:RequiredFieldValidator ID="RequiredPiva" runat="server"
ControlToValidate="pivaTextBox"
ErrorMessage="<%$ Resources:Resource, CampoObbligatorio %>" Display="Dynamic"
CssClass="little_text" />
<asp:CustomValidator ID="PivaEsistente" runat="server"
ErrorMessage="Partita IVA esistente nel database" meta:resourcekey="PivaEsistente"
ControlToValidate="pivaTextBox" CssClass="little_text" Display="Dynamic"
onservervalidate="PIVAEsistente_ServerValidate"></asp:CustomValidator>
<asp:RegularExpressionValidator ID="PivaSize" runat="server"
ControlToValidate="pivaTextBox" CssClass="little_text" Display="Dynamic"
ErrorMessage="Controllare la lunghezza della partita iva. 11 caratteri e solo numeri."
ValidationExpression="^[0-9]{11}$" Enabled="False" ValidationGroup="soloItalia">
</asp:RegularExpressionValidator>
<asp:CustomValidator ID="PivaErrata" runat="server"
ErrorMessage="Partita IVA non corretta. Controllare le cifre." meta:resourcekey="PivaErrata"
ControlToValidate="pivaTextBox" CssClass="little_text" Display="Dynamic"
onservervalidate="ValidatePI" Enabled="False" ValidationGroup="soloItalia"></asp:CustomValidator>
</td>
</tr>
僅當dropdownlist達到“ it”值時,才必須觸發ID為PivaErrata的CustomValidator和ID為PivaSize的RegularExpressionValidator。 這是c#中用於攔截dropdownlist值的代碼:
protected void nazioneDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
DropDownList ddlProv = (DropDownList)FormUser.FindControl("provinciaDropDownList");
if ("it".Equals(ddl.SelectedValue))
{
ddlProv.Enabled = true;
}
else
{
ddlProv.SelectedIndex = 0;
ddlProv.Enabled = false;
}
}
如您所見,當在國家下拉列表中激發該特定值“ it”時,另一個下拉列表被啟用。 我也想激活驗證控件。 我為這兩個驗證分配了一個驗證組,但是我不確定如何一次“啟用”它們。 有什么幫助嗎? 非常感謝你。
您可以使用“ Validation controls
Enabled
屬性來enable
或disable
它們。
嘗試這個:
if (ddl.SelectedItem.ToString().Equals("it"))
{
ddlProv.Enabled = true;
//add these two statements to enable
PivaSize.Enabled=true;
PivaErrata.Enabled=true;
}
else
{
ddlProv.SelectedIndex = 0;
ddlProv.Enabled = false;
//add these two statements to disable
PivaSize.Enabled=false;
PivaErrata.Enabled=false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.