您的位置:首页 > 移动开发

mvc 路由调试辅助类RouteDebug使用方法

2011-09-19 14:02 274 查看
 

测试Routing

因为一个Url会匹配多个routing规则, 最后常常会遇到规则写错或者顺序不对的问题.于是我们希望能够看到Url匹配Routing的结果.


其中最简单的办法就是使用RouteDebug辅助类. 这个类需要单独下载dll组件, 我将此组件的下载放在了博客园上:


解压缩后是一个DLL文件, 将这个DLL文件添加到项目中并且添加引用.


使用方法很简单, 只需要在Application_Start方法中添加一句话:


RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes); 



比如下面是我的示例中的代码:


 protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
} 



现在你访问任何URL, 都会出现RouteDebug页面, 如下:


 


 

 

其中不仅有你的所有Routing规则, 还显示了是否匹配.并且按照顺序列出. 还有识别的参数列表.


当你不想测试Routing规则的时候则注释掉这一段, 即可回复跳转到View对象上.


总结

本文讲解了ASP.NET MVC中一个关键的组件:Routing的使用. System.Web.Routing在Framework3.5 SP1中已经集成, 也就是说虽然我们还没有ASP.NET MVC的正式版, 但是Routing组件却已经提早发布了. 因为Routing是一个相对独立的组件, 不仅能和ASP.NET MVC配额使用, 也可以用于任何需要URL路由的项目. 另外Routing的作用和Url重写(Url Rewrite)是有区别的,
你会发现Routing和Url Rewrite相比其实很麻烦, 无论是添加规则还是传递参数.对UrlRewite感兴趣的可以去寻找UrlRewrite.dll这个组件, 很简单很强大, 有关两者的异同以及如何使用UrlRewrite这里不在多说了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息