Wire Validator pour exécuter un clic sur un bouton spécifique

Je construis un contrôle utilisateur qui a 2 boutons dedans.

C'est mon html:

<form action="#">
<div id="container" runat="server" style="text-align: center;">
    
</div>
<input type="submit" value="test" runat="server"/>
</form>

Et du côté du code, j'ajoute de nouvelles zones de texte en fonction du clic de l'utilisateur sur l'addBtn:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //clear the session values
        ViewState[VIEWSTATE_NAME] = null;
        ViewState[VIEWSTATE_TEXT_BOX_LIST] = null;
        return;
    }
    Debug.Write("here");
    //if there is no text box list in the session - create a new one
    if (ViewState[VIEWSTATE_TEXT_BOX_LIST] != null)
        textboxIds = (List)ViewState[VIEWSTATE_TEXT_BOX_LIST];
    //get the name of the list
    if (ViewState[VIEWSTATE_NAME] != null)
        Name = (string)ViewState[VIEWSTATE_NAME];
}

protected void btnAdd_Click(object sender, EventArgs e)
{        
    //if there is no name - return
    if (name == null)
        return;
    //add a new text field to the list                
    textboxIds.Add(name + "_" + (textboxIds.Count + 1));
    //st text field id         
    //add the textbox list to the session
    ViewState[VIEWSTATE_TEXT_BOX_LIST] = textboxIds;
    //show the fields
    ShowTextFields();
}

/// 
/// Show all the text fields of this multiple text fields ///
 
private void ShowTextFields()
{
    Debug.Write("count" + textboxIds.Count);
    foreach (string textBoxId in textboxIds)
    {
        //create textbox
        TextBox textBox = new TextBox();
        //create validator
        RequiredFieldValidator validator = new RequiredFieldValidator();
        //add textbox
        textBox.ID = textBoxId;
        container.Controls.Add(textBox);
        container.Controls.Add(new LiteralControl("
")); //add validator validator.ControlToValidate = textBox.ID; validator.ErrorMessage = "Required"; container.Controls.Add(validator); } container.Controls.Remove(btnAdd); container.Controls.Add(btnAdd); }

Chacune des zones de texte ajoutées est requise - ici, j'ai ajouté un validateur à chacune d'entre elles.

Mon problème est que le validateur est en cours d'exécution dans le clic addBtn, alors que je veux qu'il s'exécute sur le bouton Soumettre le formulaire en cliquant sur ...

Comment puis-je le connecter?

0
J'ai édité votre titre. S'il vous plaît voir, " Si les questions incluent" tags "dans leurs titres? ", où le consensus est "non, ils devraient ne pas".
ajouté l'auteur John Saunders, source

1 Réponses

Vous pouvez utiliser ValidationGroup pour déterminer ce qui valide quoi et quels déclencheurs.

http://msdn.microsoft.com/fr -us/library/ms227424% 28v = vs.100% 29.aspx

Si vous voulez que l'addBtn ne valide rien, vous pouvez ajouter CausesValidation = false au bouton.

0
ajouté