當字符%20出現在參數之間的url時,我的MVC路由就會停止考慮一個字符串。%20後跟斜槓後面跟着更多的數據導致ASP.NET MVC 3路由失敗?
這是爲什麼,我如何處理我的URL中的處理「%20」字符?
例URL
http://localhost:40494/ListContents/Delete/asdf%20/5430f394...
public ActionResult Delete(string DNSName, Guid id)
{...}
routes.MapRoute(
"Delete", // Route name
"ListContents/Delete/{DNSName}/{id}", // URL with parameters
new { controller = "ListContents", action = "Delete" } // Parameter defaults
);
然而 以下兩個網址,做工精細
http://localhost:40494/ListContents/Delete/asdf%20SOMETHING_HERE/5430f394...
http://localhost:40494/ListContents/Delete/%20asdf/5430f394-946c-4f82-ac13-9d5efafe9127
該空間在那裏,因爲它是由另一頁上的HTML.ActionLink自動生成的。該空間來自後備數據庫。確保這不會發生在我的其他頁面上的最佳方法是什麼? – LamonteCristo 2011-01-31 17:09:13
@ makerofthings7:對URL字符串進行搜索,並確保它在`%20`前後沒有`/` - 這只是我的猜測。目前我不確定更好的方法。 – VoodooChild 2011-01-31 17:27:41