最佳解答者
MVC在IE11因網址未編碼發生502問題,新增Route之後同樣未編碼卻沒問題,想問為什麼?

問題
-
原網址在IE 11下因中文未編碼出現502,嘗試新增一個Route後即解決問題,不知為何一樣傳送未編碼的中文Request竟然就沒有問題了?
新增的route如下:
routes.MapRoute(
name: "StoreBrowse",url: "store/{genre}",defaults: new { controller = "store", action = "browse" , id = UrlParameter .Optional });
原URL為: /Store/Browse?genre=健康飲品
修改後:/Store/健康飲品
接收URL的Action:public ActionResult Browse( string genre){// Retrieve Genre and its Associated Albums from databasevar genreModel = storeDB.Genres.Include("Albums" ).Single(g => g.Name == genre);
return View(genreModel);}
原本的問題是因為網址列傳送中文,但是更改Route後還是有傳送中文,為何就沒有問題了?
修改前後對照圖:https://docs.google.com/file/d/0B8TtY9U9VCvqdGo5SXdabEh1amc/edit
會發生錯誤的網站:http://websitewithdbforfree.azurewebsites.net/ 當點擊左方任一商品分類,即出現502
修改後成功的網站:http://wecarestore.azurewebsites.net/
- 已編輯 AsinChen 2014年9月23日 下午 05:16 讓問題更明確
解答
-
用一整篇來回答你:http://blog.kkbruce.net/2014/09/ie11-pass-unicode-querystring-with-aspnet-mvc-http502.html
:D
理直氣和,切記。
推廣
- Blog:KingKong Bruce記事
- Web:KKBruce.tw
社群
所有回覆
-
左邊是 Firefox、右邊是 Chrome、中間是 IE 11,有沒有發現 IE 11 和其他不同的地方 :(
理直氣和,切記。
推廣
- Blog:KingKong Bruce記事
- Web:KKBruce.tw
社群
-
-
您好,
routes.MapRoute(
name: "StoreBrowse",
url: "store/{genre}",
defaults: new { controller = "store", action = "browse" , id = UrlParameter .Optional }
);
MapRoute是不是應該要將 id 改成 genre ??
routes.MapRoute(
name: "StoreBrowse",
url: "store/{genre}",
defaults: new { controller = "store", action = "browse" , genre = UrlParameter .Optional }
); -
- 已編輯 KKBruceMVP 2014年9月24日 上午 07:23 改詞
-
用一整篇來回答你:http://blog.kkbruce.net/2014/09/ie11-pass-unicode-querystring-with-aspnet-mvc-http502.html
:D
理直氣和,切記。
推廣
- Blog:KingKong Bruce記事
- Web:KKBruce.tw
社群