我想知道如何使用RedirectToAction傳遞一個字符串參數()。ASP.Net MVC:使用RedirectToAction傳遞一個字符串參數的動作()
比方說,我有這樣的路線:
routes.MapRoute(
"MyRoute",
"SomeController/SomeAction/{id}/{MyString}",
new { controller = "SomeController", action = "SomeAction", id = 0, MyString = UrlParameter.Optional }
);
而在SomeController,我有一個動作做一個重定向如下:
return RedirectToAction("SomeAction", new { id = 23, MyString = someString });
我想這重定向與someString =」 @# $%?& * 1「,並且它總是失敗,無論我編碼字符串。我嘗試使用HttpUtility.UrlEncode(someString),HttpUtility.UrlPathEncode(someString)和Uri.EscapeUriString(someString)編碼它無濟於事。
於是我使出我們TempData的傳遞someString,不過,我會很好奇地想知道如何使上述工作的代碼,只是爲了滿足我的好奇心。
您是否嘗試在'web.config'中更改'relaxedUrlToFileSystemMapping'和'requestPathInvalidCharacters'? – 2012-02-03 03:26:54
@EricYin不,我沒有。我不知道這兩個參數。我會研究他們。 – 2012-02-03 17:46:01