Vorrei sapere come passare un parametro stringa utilizzando RedirectToAction().ASP.Net MVC: passaggio di un parametro stringa a un'azione utilizzando RedirectToAction()
Diciamo che ho questo percorso:
routes.MapRoute(
"MyRoute",
"SomeController/SomeAction/{id}/{MyString}",
new { controller = "SomeController", action = "SomeAction", id = 0, MyString = UrlParameter.Optional }
);
E in SomeController, ho un'azione facendo un reindirizzamento come segue:!
return RedirectToAction("SomeAction", new { id = 23, MyString = someString });
ho provato questo reindirizzamento con someString =" @ # $%? & * 1 "e fallisce sempre, non importa se codifico la stringa. Ho provato a codificarlo con HttpUtility.UrlEncode (someString), HttpUtility.UrlPathEncode (someString) e con Uri.EscapeUriString (someString) senza alcun risultato.
Così ho fatto ricorso a TempData per passare un po 'di stringa, ma comunque sarei curioso di sapere come far funzionare il codice sopra, solo per soddisfare la mia curiosità.
Hai provato a cambiare 'relaxedUrlToFileSystemMapping' e' requestPathInvalidCharacters' in 'web.config'? –
@EricYin No, non l'ho fatto. Non ero a conoscenza di questi due parametri. Li esaminerò. –