Ma page asp.net affichera différents contrôles basés sur le rapport sélectionné par un utilisateur, par exemple. certains rapports nécessitent 5 listes déroulantes, deux cases à cocher et 6 listes déroulantes).Postback avec chaîne de requête modifiée à partir d'une liste déroulante dans ASP.NET
Ils peuvent sélectionner un rapport en utilisant deux méthodes. Avec SelectedReport=MyReport
dans la chaîne de requête, ou en le sélectionnant dans une liste déroulante. Et c'est un cas fréquent pour eux de venir à la page avec SelectedReport dans la chaîne de requête, puis de modifier le rapport sélectionné dans la liste déroulante.
Ma question est, est-il de toute façon de faire de la liste déroulante modifier la chaîne de requête quand il est sélectionné. Donc, je voudrais SelectedReport=MyNewReport
dans la chaîne de requête et la page à poster.
Pour l'instant, il s'agit simplement d'une publication normale, ce qui laisse le SelectedReport=MyReport
dans la chaîne de requête, même s'il ne s'agit pas du rapport actuellement sélectionné.
Editer: Et j'ai aussi besoin de préserver ViewState.
J'ai essayé de faire Server.Transfer(Request.Path + "?SelectedReport=" + SelectedReport, true)
dans le gestionnaire d'événements pour la liste déroulante, et cela fonctionne fonction sage, malheureusement, car c'est un Server.Transfer (pour préserver ViewState) au lieu d'un Response.Redirect l'URL est en retard derrière ce qui est montré. Peut-être que je suis en train de demander l'impossible ou d'aller complètement dans le mauvais sens.
@Craig La collection QueryString est en lecture seule et ne peut pas être modifiée.
@Jason Ce serait génial, sauf que je perdrais le ViewState non? (Désolé j'ai ajouté cela après avoir vu votre réponse).