none
MVC在IE11因網址未編碼發生502問題,新增Route之後同樣未編碼卻沒問題,想問為什麼? RRS feed

  • 問題

  • 原網址在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 database
                var 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 讓問題更明確
    2014年9月23日 下午 01:55

解答

所有回覆