2013-09-06 5 views
0

J'ai un panneau de mise à jour, et dans le panneau de mise à jour il y a une liste déroulante et un valideur de champ obligatoire associé à la liste déroulante et l'autopostback de la liste déroulante à true. maintenant, chaque fois que l'utilisateur change l'option le retour automatique se produit dans updatepanel .. ce dont j'ai besoin, c'est que si l'utilisateur choisit l'élément vide dans la liste déroulante, il ne devrait pas publier sur le serveur et le validateur feu parfait et aussi il y a un postback et après la publication, l'état de validaor du champ requis est vrai. Ce dont j'ai besoin est d'arrêter la publication si le validateur échoue.Panneau de mise à jour Asp.Net requis Champ Validateur Problème

J'ai beaucoup de recherche pour ce problème mais je ne trouve rien d'utile.

Répondre

1

1- Dans DropDownList:

CausesValidation="True" 

2- Dans Page_Load utiliser string.Empty à la valeur du premier élément:

DropDownList1.Items.Add(new ListItem("Select...", string.Empty)); 

ASPX:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
      CausesValidation="True" 
      onselectedindexchanged="DropDownList1_SelectedIndexChanged"> 
     </asp:DropDownList> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
      ControlToValidate="DropDownList1" Display="Dynamic" ErrorMessage="Empty"></asp:RequiredFieldValidator> 
     <br /> 
     <asp:Label ID="Label1" runat="server" EnableViewState="False"></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel> 

code derrière:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
     Label1.Text = DropDownList1.SelectedItem.Text; 
} 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     DropDownList1.Items.Add(new ListItem("Select...", string.Empty)); 
     DropDownList1.Items.Add(new ListItem("mehdi", "1")); 
     DropDownList1.Items.Add(new ListItem("ali", "2")); 
    } 
} 
+0

ma réponse a été mise à jour –

Questions connexes