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

The vaccine is not the right technology

Le vaccin n’est pas la bonne technologie

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