And*_*iih 17 .net c# asp.net-mvc routing asp.net-mvc-2
采取以下控制器操作
public ActionResult NextBySURNAME(int id, string data)
{
//code to process the data and edit the id accoringly not written yet
return RedirectToAction("Edit", new { id = id });
}
Run Code Online (Sandbox Code Playgroud)
如果我用/ Mycontroller/NextBySURNAME/12/Smith%20Simon调用它
然后它工作正常(在这种情况下编辑记录12)但是
/ myController的/ NextBySURNAME/12 /史密斯%20
给了我一个404
现在我知道在某些情况下我的问题域尾随空白是很重要的,所以我不只是想修剪它.那为什么这会破坏我的路线呢?
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}/{data}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional, data=UrlParameter.Optional } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
所以我做了一些路由调试,发现以空格结尾的路由甚至没有被我的MVC应用程序评估.因此,IIS必须很差地处理这些请求.
我在IIS 7.5中添加了一个重写规则来匹配尾随空格,并将它们重写为没有空格的相同URL.我对此解决方案不满意,但无法找到解释为什么IIS错误处理带有尾随空格的URL的原因.
| 归档时间: |
|
| 查看次数: |
1765 次 |
| 最近记录: |