有人可以向我介绍asp.net路由语法吗?
|
我在Web窗体方案中处理此代码: public static void RegisterRoutes(RouteCollection routes)
{
Route r = new Route("{*url}",new MyRouteHandler());
routes.Add(r);
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.gif/{*pathInfo}");
}
首先,任何人都可以告诉我{* pathInfo}的定义在哪里? routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
比赛 /c/xyz.axd and /b/c/xyz.axd and /a/b/c/xyz.axd 而 routes.IgnoreRoute("{resource}.axd");
只有比赛 /xyz.axd 其次,在: {*url}
这是什么意思?而整个表达是什么意思呢?有没有明确的解释? 第三,是否有特定的顺序需要添加这些表达式来正确忽略路由?我知道{* url}是某种可能的,如果IgnoreRoutes来到它之前或之后,例如 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.gif/{*pathInfo}");
Route r = new Route("{*url}",new MyRouteHandler());
routes.Add(r);
解决方法我的2美分:路由不是正则表达式。它只是组成路由的变量和静态组件,由段(由斜杠标识)分隔。有一个特殊符号,最后一个变量中的星号,这意味着从这里,忽略段分隔符 – 斜杠。所以, {*url}
是最简单的路由,因为它意味着取整个URL,将其放入变量“url”,并将其传递到与该路由相关联的页面。 {controller}/{action}/{id}
将所有内容都放在第一个分段(第一个斜杠)到变量“controller”中,将第一个和第二个之间的所有内容放在变量“action”中,第二个和第三个斜杠(或结束)之间的所有内容,进入变量’id’。然后将这些变量传递到关联页面。 {resource}.axd/{*pathInfo}
这里把信息放在.axd /(它不能有任何斜线!)到’资源’,并把所有的第一个/进入’pathInfo’。由于这通常是一个ignoreRoute,所以不是将其传递给关联的页面,而是由StopHandler处理,这意味着路由将不会处理它,而是由非路由HttpHandler处理。 如bleevo所说,路由被执行,以便它们被添加到集合中。所以在处理通用路由之前必须添加IgnoreRoute。 这是马的嘴:http://msdn.microsoft.com/en-us/library/cc668201.aspx 具体到你的例子,我会把IgnoreRoute行放在你的路线之上,因为你的路由实际上是一个全部的。另外,请记住.gif忽略只有在gif位于根目录下才能被保证。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 增加会话TimeOut
- ASP.NET MVC 4实体框架6 SQL Compact Edition 4.0部署无需安
- asp.net-mvc-3 – asp.net mvc3请求线程亲和
- asp.net-mvc – 使用MVC和ASP.Net Core重写动态URL
- entity-framework – ASP.NET-Identity限制UserName长度
- asp.net-mvc-3 – 有没有办法使用@ Html.HiddenFor获取完整
- asp.net – .NET – 如何调试DLL?
- asp-classic – 检查VBScript中是否存在Object
- asp.net – 您有任何免费的.Net托管代码将DocX转换为PDF?
- iis – ASP.NET网站文件被黑了……怎么样?
- asp.net – 如何防止未经授权的蜘蛛侠
- Asp:文本框与输入文本(PHP开发人员学习ASP)
- asp.net-mvc – 为什么需要为Html.Action定义的路
- asp.net-mvc-3 – ASP.Net MVC 3重定向未经授权的
- ASP.Net vs MVC vs WebAPI和UseTaskFriendlySync
- asp.net-mvc – ASP.NET MVC 5如何在Identity 2.
- asp.net-mvc – 修改ActionFilter中的模型
- asp.net – Jquery并触发一个隐藏按钮的单击
- 在ASP.Net网站项目中混合VB.Net和C#代码?
- asp.net-mvc – 如何在ASP.Net MVC中对自定义Act
