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);
}
Laisser un commentaire