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
Enregistrer un commentaire