IE 11傳遞中文參數值在ASP.NET MVC產生HTTP 502

IE 11傳遞中文參數值在ASP.NET MVC產生HTTP 502

這是網友在MSDN論壇提出的問題《MVC在IE11因網址未編碼發生502問題,新增Route之後同樣未編碼卻沒問題,想問為什麼?,想想,這算不錯的題目,未來拿來當課程考題好了 XD

問題備份

原網址在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);
  }
 

我的Word排版突然亂七八糟

我的Word排版突然亂七八糟

Word畫面排版大亂

在我撰寫《ASP.NET MVC 5網站開發美學》時,一直有個問題困擾我,如上圖,經常在文字稿上下滑動時,整個畫面、排版就會大亂,有時是連上面的工具列都跟著來亂(很機車)。只好被迫關閉Word重開。

老實說,第一次發生時,嚇的半死,因為這篇搞子已經寫了好多天,想說如果毀了,我大概會把給電腦砸了。但事後發現,每次發生這現象時,其實只要把Word關閉重開就會還原了。

停用硬體圖形加速功能

後來問了其他MVP前輩才找到原因(感謝璉大):

檔案 → 選項 → 進階 → 顯示

停用硬體圖形加速功能

就這樣,把硬體圖形加速功能關閉,Word不用重開立即還原回正常排版的樣子。

清除Selenium自訂Format快取(暫存)檔

清除Selenium自訂Format快取(暫存)檔

使用Selenium進行Web Test時,可以使用91哥的[Tool][Selenium IDE]Export to C#/WebDriver/MSTest,來把Web Test轉成C#,然後讓Visual Studio來執行。但因Script有點問題,在刪除重新匯入時發現Selenium會對自訂Format Script進行快取(或暫存),刪除動作並不完整,而重新執行Web Test會執行到舊Script。