2010-11-24 30 views
1

J'ai une page asp.net qui a un panneau avec bouton par défaut et panneau de mise à jour et liste déroulante dans le panneau de mise à jour. Pendant que je remplis le formulaire lorsque je sélectionne un élément avec les touches Haut/Bas et que j'appuie sur Entrée pour le sélectionner, le formulaire est envoyé. Comment puis-je réparer cela?asp: DropDownList soumet la page sur la sélection entrer

EDIT Certains code:

<asp:SqlDataSource ID="sdsCountries" runat="server" ConnectionString="cs" 
SelectCommand="SELECT CountryID, Title FROM Countries"/> 

<asp:DropDownList ID="ddlCountries" runat="server" DataSourceID="sdsCountries" 
DataValueField="CountryID" DataTextField="Title" AutoPostBack="True" 
OnSelectedIndexChanged="ddlCountries_SelectedIndexChanged"/> 

<asp:UpdatePanel ID="upState" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:SqlDataSource ID="sdsStates" runat="server" ConnectionString="cs" 
    SelectCommand="SELECT StateID, Title FROM States WHERE [email protected]"> 
      <SelectParameters><asp:ControlParameter Name="CountryID" 
     ControlID="ddlCountries" PropertyName="SelectedValue" DefaultValue="1"/> 
      </SelectParameters> 
     </asp:SqlDataSource> 
     <asp:DropDownList ID="ddlStates" runat="server" DataSourceID="sdsStates" 
     DataValueField="StateID" DataTextField="Title"/> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="ddlCountries" 
     EventName="SelectedIndexChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

Répondre

2

Sur votre liste déroulante assurez-vous que l'attribut "AutoPostBack" n'est pas réglé sur "true"

EDIT: vu votre commentaire. Je ne suis pas très bien avec les panneaux de mise à jour ASP.Net car je gère habituellement les ajax avec jquery mais je crois que vous devrez soit mettre votre liste déroulante ddlCountries dans son propre panneau de mise à jour ou le déplacer vers le panneau de mise à jour états et définir l'attribut ChildrenAsTriggers vrai sur ce panneau de mise à jour.

+0

Mais je besoin activé, car il y a un autre menu déroulant pour les données connexes. Par exemple Pays> États. ddlStates est rempli avec des éléments connexes lorsque ddlCountries est modifié. –

+0

Voir la mise à jour. Un texte de remplissage – Adrian

+0

Ne fonctionne pas. La meilleure solution à ce jour est de supprimer le panneau et le bouton par défaut –

1

ensemble AutoPostBack false