asp.net mvc 使用UrlRewrite.dll设置伪静态
2017-08-14 11:24
477 查看
1.从nuget包管理下载此dll库
2.注意查看web.config是否有自动生成此配置文件
3.进行路由配置
在RouteConfig进行配置路由
ps:注意此时页面链接为
这是两个参数的,自动匹配两个参数的Demo2.html路由
在控制器中的参数接收直接是mvc默认参数接收形式。
ps:如果想链接带上区域标志如 ~/admin/home/demo/1231.html
将其路由配置改在区域路由文件
配上此URLWrite.dll的官网:http://www.urlrewriting.net/
调试Route的利器:
博文:http://www.cnblogs.com/cunlau/p/4198717.html
官网:https://www.nuget.org/packages/routedebugger/
注意路由顺序!!!特别本地调试和服务器的
2.注意查看web.config是否有自动生成此配置文件
<configSections> <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter" /> </configSections> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules runAllManagedModulesForAllRequests="true"> <remove name="UrlRoutingModule" /> <add name="UrlRoutingModule" type="UrlRewrite.RewriteModule, UrlRewrite" preCondition="managedHandler"/> </modules> </system.webServer>
3.进行路由配置
在RouteConfig进行配置路由
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //一个参数设置(页面所走路由) routes.MapRoute( "Index.html", // Route name "{controller}/{action}/{newId}.html", // URL with parameters new { controller = "Home", action = "Index" , newId = UrlParameter.Optional} // Parameter defaults , namespaces: new[] { "MVC测试.Areas.admin.Controllers" } ).DataTokens.Add("area", "admin"); //两个参数设置(页面所走路由) routes.MapRoute( "Demo2.html", "{controller}/{action}/{title}/{qishu}.html", // URL with parameters new { controller = "Home", action = "Index", title = UrlParameter.Optional, qishu = UrlParameter.Optional } // Parameter defaults , namespaces: new[] { "MVC测试.Areas.admin.Controllers" } ).DataTokens.Add("area", "admin"); //原生路由配置(ajax所走路由) routes.MapRoute( //Admin Route "Index", // Route name "{controller}/{action}/{newId}/{iq}/{eq}", // URL with parameters new { controller = "Home", action = "Index", newId = UrlParameter.Optional, iq = UrlParameter.Optional, eq = UrlParameter.Optional } // Parameter defaults , namespaces: new[] { "MVC测试.Areas.admin.Controllers" } ).DataTokens.Add("area", "admin"); } }
ps:注意此时页面链接为
区域实验页面<a href="~/home/demo/12312/21312.html">链接</a>
这是两个参数的,自动匹配两个参数的Demo2.html路由
在控制器中的参数接收直接是mvc默认参数接收形式。
public ActionResult Demo(string newId)//参数名注意与路由参数名一样的设置(不造为啥) { string gg = newId; return View(); }
ps:如果想链接带上区域标志如 ~/admin/home/demo/1231.html
将其路由配置改在区域路由文件
public class adminAreaRegistration : AreaRegistration { public override string AreaName { get { return "admin"; } } public override void RegisterArea(AreaRegistrationContext context) { //此处添加路由配置即可 context.MapRoute( "admin_default", "admin/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } }
配上此URLWrite.dll的官网:http://www.urlrewriting.net/
调试Route的利器:
博文:http://www.cnblogs.com/cunlau/p/4198717.html
官网:https://www.nuget.org/packages/routedebugger/
注意路由顺序!!!特别本地调试和服务器的
相关文章推荐
- ASP.NET MVC 里redirectMode="ResponseRewrite" 时候无法使用 Controller 来设置特定的错误页面。
- 利用Mircosoft URLRewriter.dll实现asp.net页面伪静态 (转)
- ASP.NET MVC 设置 Route 使 URL 中不显示 controller名
- ASP.NET URL Rewrite. URL重写(静态页和伪静态共存)
- ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL
- asp.net url 伪静态设置方法
- Asp.net Mvc Framework可以在Controller中使用的Url.Action方法
- ASP.NET MVC设置Route使URL中不显示Controller
- asp.net MVC中dropdownlist的使用(并设置选中项)
- ASP.NET用URLRewriter.dll实现伪静态
- 在ASP.NET MVC中使用带后缀的URL
- 利用Mircosoft URLRewriter.dll实现asp.net页面伪静态
- ASP.NET中URLRewriter.dll的使用配置
- 在不同版本的IIS下使用ASP.NET MVC和URL Routing
- Asp.net Mvc Framework可以在Controller中使用的Url.Action方法
- ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL
- Asp.net Mvc Framework可以在Controller中使用的Url.Action方法
- ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL(转)
- 利用Mircosoft URLRewriter.dll实现asp.net页面伪静态