Comment afficher un contrôle après un PostBack en asp.net C# ?



En programmation traditionnelle, formulaire rafraîchi après un AutoPostBack sur un DropDownList par exemple, comment afficher le contrôle qui a commandé le lancement du formulaire, en particulier lorsque ce contrôle se trouve sur une partie non visible du formulaire (en dehors de l'écran visible) ?







Définir un contrôle dans la page .aspx :



<asp:DropDownList ID="pays" name="pays" runat="server" AutoPostBack="true" onselectedindexchanged="pays_SelectedIndexChanged"></asp:DropDownList>



Ajouter l'attribut HTML name="pays".



Dans le fichier .aspx.cs associé à la page .aspx, ajouter la méthode du changement d'index du DropDownList, à la place de traitement, effectuer le traitement nécessaire pour enregistrer la nouvelle valeur par exemple et ajouter les lignes suivantes pour afficher le contrôle dans la fenêtre de l'écran :



protected void pays_SelectedIndexChanged(object sender, EventArgs e)

{

        //traitement .....

       //retour au contrôle

        string csname1 = "RemarqueScript";

        Type cstype = this.GetType();

        ClientScriptManager cs = Page.ClientScript;

        string cstext1 = "window.location.href=window.location.href+'#pays';";

        cs.RegisterStartupScript(cstype, csname1, cstext1, true);

}

Commentaires

Posts les plus consultés de ce blog

Scénario d'une gestion durable de l'humanité imaginée par un informaticien

Comment éviter que deux divisions se chevauchent ?

Le contrat Pfizer passé avec l'Europe le 20/11/2020