Question

Je souhaite afficher une fenêtre contextuelle modale lorsqu'un utilisateur clique sur un bouton ASP. L'utilisateur doit sélectionner une option d'un panneau. La valeur de l'option sélectionnée doit être enregistrée dans une entrée masquée puis le bouton ASP.NET doit faire un Post-dos.

Puis-je faire cela?

Merci!

Était-ce utile?

La solution 3

Enfin, j'ai décidé d'utiliser jQuery pour montrer un modalpopup. La question suivante a la réponse à cette question:

La boîte de dialogue de JQuery UI ne fonctionne pas sur ASP.NET

Si vous n'êtes pas d'accord, dites-moi.

Autres conseils

Il est possible qu'un modalpopupextender soit affiché à l'aide d'un post-back. Vous aurez besoin d'un contrôle cible invisible. L'extenseur est attaché à ce contrôle caché.

<asp:Button runat="server" ID="btnShowModal" Text="Show" 
     OnClick="btnShowModal_Click" /> 
<asp:Button runat="server" ID="HiddenForModal" style="display: none" />
<ajaxToolKit:ModalPopupExtender ID="Modal1" runat="server" 
     TargetControlID="HiddenForModal" PopupControlID="PopupPanel" />

Dans votre gestionnaire de messages dans Code-Behind, vous afficherez le modalpopupextender:

Modal1.Show();

Et dans le code que vous utilisez pour rejeter le modal, appelez la fonction de masque du modalpopupextender:

Modal1.Hide();

J'utilise cette méthode pour afficher un modal qui affiche des données détaillées que je récupère à partir d'une base de données basée sur ce qui est sélectionné dans un GridView.

Ajoutez votre bouton ou LinkButton

<asp:Button ID="MyButton" Text="Click Here" runat="server" />

Ajoutez un panneau pour maintenir vos options avec une liste déroulante

<asp:Panel ID="MyPanel" runat="server">
  <asp:DropDownList ID="MyDropDown" runat="server">
    <asp:ListItem Value="1" Text="Option 1" />
  </asp:DropDownList>
  <asp:Button ID="SaveBtn" Text="Save" OnClick="Save_Click" runat="server" />
  <asp:Button ID="CancelBtn" Text="Cancel" runat="server" />
</asp:Panel>

Ajoutez votre modèlePopupextender

<act:ModalPopupExtender ID="Mpe1" TargetControlID="MyButton"  
    CancelControlID="CancelBtn" PopupControlID="MyPanel" runat="server" />

Puis ajoutez votre code derrière le bouton SaveBtn

public void SaveBtn_Click(object sender, EventArgs e) {
  string selectedOption = MyDropDown.SelectedValue;
} 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top