asp.net – 知道当前的URL是否包含在RouteTable.Routes中
发布时间:2020-12-16 07:42:30 所属栏目:asp.Net 来源:网络整理
导读:在我的Global.asax中我有这些规则 protected void Application_Start(object sender,EventArgs e) { RouteTable.Routes.EnableFriendlyUrls(); RouteTable.Routes.MapPageRoute("","Home","~/Default.aspx"); RouteTable.Routes.MapPageRoute("","Carrello",
在我的Global.asax中我有这些规则
protected void Application_Start(object sender,EventArgs e) { RouteTable.Routes.EnableFriendlyUrls(); RouteTable.Routes.MapPageRoute("","Home","~/Default.aspx"); RouteTable.Routes.MapPageRoute("","Carrello","~/Carrello.aspx"); RouteTable.Routes.MapPageRoute("","Checkout","~/Checkout2.aspx"); RouteTable.Routes.MapPageRoute("","Ricerca-Prodotto/{Filtri}/{Pagina}","~/ProductsSearch.aspx"); RouteTable.Routes.MapPageRoute("","Prodotto/{ProductId}","~/Product.aspx"); RouteTable.Routes.MapPageRoute("","Prodotti/{Menu}/{Marca}/{Categoria}/{Pagina}","~/Product.aspx"); } 我还有UrlRewrite来管理 protected void Application_BeginRequest(object sender,EventArgs e) { System.Collections.Generic.List<Rewrite> rewrites = Rewrite.getRules(); String fullOriginalPath = Request.Url.ToString(); int index = 0; if(fullOriginalPath.Contains("www.")) index = fullOriginalPath.IndexOf('/',fullOriginalPath.IndexOf("e-miko.com")) + 1; else index = fullOriginalPath.IndexOf('/',fullOriginalPath.IndexOf("localhost")) + 1; string chiave = fullOriginalPath.Substring(index); Utility.WriteToLog(chiave); foreach (Rewrite r in rewrites) { if(r.Chiave == chiave) { string url = "/" + r.Pagina; if (r.Param1 != null) url += "/" + r.Param1; if (r.Param2 != null) url += "/" + r.Param2; if (r.Param3 != null) url += "/" + r.Param3; if (r.Param4 != null) url += "/" + r.Param4; if (r.Param5 != null) url += "/" + r.Param5; Context.RewritePath(url); } } } 我也尝试将这些行放在web.config中 <httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" path="/PageNotFound.aspx" responseMode="ExecuteURL" /> <remove statusCode="500" subStatusCode="-1" /> <error statusCode="500" path="/PageNotFound.aspx" responseMode="ExecuteURL" /> 但是我的所有urlRewrite页面都在PageNotFound.aspx中 如果当前Url未包含在这些规则中,是否有办法将用户重定向到主页? 谢谢 解决方法
你的问题是重复的
asp.net 4.0 web forms routing – default/wildcard route 您只需要 RouteTable.Routes.MapPageRoute("defaultRoute","{*value}","~/Home.aspx"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC:CSS文件存在时返回302错误
- asp.net-mvc – 如何删除SimpleMembership用户?
- asp.net-mvc – 如何在VS2012 MVC4项目中设置Ext.NET 2.0?
- asp.net-mvc – 使用WebForm的MVC HtmlHelper
- asp.net-mvc – 实现IModelBinder的最佳实践
- asp.net – Autofac实例注册的SingleInstance()能否在IIS A
- asp.net – 如何将SQL用户定义的函数添加到实体框架?
- asp.net-mvc – window.location.href发送多个参数asp.net
- asp.net-web-api – ASP.NET WebApi测试 – 断言请求返回40
- asp.net-mvc – 概念类型中的成员数量不匹配 – 但确实如此
推荐文章
站长推荐
- asp.net-mvc – Asp.net MVC NoSQL数据库
- 在加载asp.net页面时显示gif
- asp.net-mvc – 映射从域实体到DTO的验证属性
- asp.net-mvc – 用于子操作的MVC OutputCache:它
- ASP.Net – C# – SQL Server – 只刷新缓存的Da
- asp.net – ASPXAUTH cookie未保存
- asp.net-mvc – 默认的AccountController示例何时
- asp.net-mvc – 如何在验证集合中添加验证错误as
- ASP.NET MVC Urls和IIS集成Windows身份验证
- asp.net-mvc – 如何通过MVC Azure AD身份验证从
热点阅读