Comment passer plusieurs paramètres dans une requête

j'ai trois valeurs que j'ai passer comme paramètres pour, par exemple, strID , strName et strDate .

je veux rediriger ces trois paramètres vers une autre page dans Response.Redirect() .Est-ce que quelqu'un peut me fournir le questionnaire correct?

64
demandé sur Cerebrus 2009-04-07 11:46:24

6 réponses

Query_string

(suit le texte de la section liée de L'entrée Wikipedia.)

Structure

une URL typique contenant une chaîne de requête est la suivante:

http://server/path/program?query_string

Lorsqu'un serveur reçoit une requête pour une telle page, il exécute un programme (s'il est configuré pour le faire), passant le query_string inchangé au programme. Question marque est utilisée comme séparateur et ne fait pas partie de la chaîne de requête.

un lien dans une page web peut avoir une URL qui contient une chaîne de requête, cependant, HTML définit trois façons dont un navigateur web peut générer la chaîne de requête:

  • un formulaire en ligne via le ... élément
  • une image map côté serveur via l'attribut ismap sur l'élément avec une construction
  • une recherche indexée via le maintenant déprécié élément

Web forms

l'utilisation principale des chaînes de requête est de contenir le contenu D'un formulaire HTML, également connu sous le nom de formulaire web. En particulier, lorsqu'un formulaire contenant les champs field1, field2, field3 est soumis, le contenu des Champs est encodé comme une chaîne de requête comme suit:

field1=value1&field2=value2&field3=value3...

  • La chaîne de requête est composée d'une série de paires de valeurs.
  • dans chaque paire, le nom et la valeur du champ sont séparés par un signe égal. Le signe égal peut être omis si la valeur est une chaîne vide.
  • la série de paires est séparée par l'ampersand, '&' (ou le point-virgule, ';' pour les URLs intégrées en HTML et non générées par A... voir ci-dessous). Bien qu'il n'y ait pas de norme définitive, la plupart des cadres Web permettent d'associer des valeurs multiples à un seul champ:

field1=value1&field1=value2&field1=value3...

pour chaque champ du formulaire, la chaîne de requête contient un champ pair=valeur. Les formulaires Web peuvent inclure des champs qui ne sont pas visibles par l'utilisateur; ces champs sont inclus dans la chaîne de requête lorsque le formulaire est soumis

la présente convention est une recommandation du W3C. Le W3C recommande que tous les serveurs Web prennent en charge les séparateurs de point-virgule en plus des séparateurs d'ampli[6] pour permettre aux chaînes de requête application/x-www-form-urlencoded dans les URLs dans les documents HTML sans avoir à l'entité coder les esperluettes.

techniquement, le contenu du formulaire n'est encodé comme une chaîne de requête que lorsque la méthode de soumission du formulaire est GET. Le même encodage est utilisé par défaut lorsque la méthode de soumission est POST, mais le résultat n'est pas envoyé sous forme de chaîne de requête, c'est-à-dire qu'il n'est pas ajouté à L'URL d'action du formulaire. Plutôt, la chaîne est envoyée comme le corps de la requête HTTP.

83
répondu vartec 2015-07-07 12:24:46
Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz

avant de rediriger:

string queryString = Request.QueryString.ToString();

Response.Redirect("page.aspx?"+queryString);
30
répondu rAm 2013-12-19 14:47:47

essayez comme ça.Il devrait fonctionner

Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));
14
répondu Ankush Dubey 2013-04-10 11:14:46
~mypage.aspx?strID=x&strName=y&strDate=z
6
répondu Adam Ralph 2013-12-19 14:47:40

Cela peut être fait en utilisant:

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
4
répondu HariPrasad 2018-02-25 10:18:08

j'utilise L'AbsoluteUri et vous pouvez l'obtenir comme ceci:

string myURI = Request.Url.AbsoluteUri;
 if (!WebSecurity.IsAuthenticated) {
        Response.Redirect("~/Login?returnUrl="
            + Request.Url.AbsoluteUri );

puis après que vous vous soyez connecté:

var returnUrl = Request.QueryString["returnUrl"];
 if(WebSecurity.Login(username,password,true)){
                Context.RedirectLocal(returnUrl);

ça marche bien pour moi.

1
répondu Thomas Fonseca 2014-06-12 22:30:18