問題備份
原網址在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後還是有傳送中文,為何就沒有問題了?
IE11的QueryString
以下使用 Visual Studio 2013新增一個 MVC 專案,修改一下"/Home/Index"的程式碼:
public ActionResult Index(string name)
{
return Content(name);
}