当前位置: 首页 > 编程语言 > C#

MVC3和重写分享

时间:2023-04-10 19:42:31 C#

MVC3和重写我正在写一个MVC3应用,需要以http://[server]/[City]-[State]/[someterm]/的形式消费网址重写。据我了解,MVC3包括一个使用{controller}/{action}/{id}的路由引擎,它在Global.asax文件中定义:}.axd/{*pathInfo}");routes.MapRoute("Default",//路由名称"{controller}/{action}/{id}",//带参数的URLnew{controller="Home",action="Index",id=UrlParameter.Optional}//参数默认值);传统上(在非MVC应用程序中)我会使用一些URL重写风格来解码诸如http://www.myserver.com/之类的URLs,例如City-State/somesearch/以使用类似于以下的查询字符串进行查询://www.myserver.com/city=City&state=State&query=somesearch请记住,此请求将来自http://www.myserver.com/Home无需指定控制器即可完成此操作...如下所示:routes.MapRoute("Results","{city}-{state}/{searchTerm}",new{controller="Results",action="Search"});...还是最好列出控制器?你如何在MVC3环境中处理这个问题?谢谢。在asp.netMVC3中重写URL:-您可以在Global.asax文件中编写url重写代码:-//Defaulturlroutes.IgnoreRoute("{resource}.axd/{*pathInfo}");路线。MapRoute("Default","",new{controller="Home",action="Index",id=""});//其他url重写你想要的RouteTable.Routes.MapRoute(null,"Search/{City_State}/{ID}",new{controller="Home",action="Search"});查看这两个答案:摘要:您可以通过在Global.asax文件中注册路由来完成此操作,但是注册路由非常重要,您必须先注册旧路由,然后再注册新路由。以上就是C#学习教程:MVC3与重写分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注—routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//对于旧urlroutes.MapRoute("Results","{city}-{state}/{searchTerm}",new{controller="Results",action="Search"});//对于默认Urlroutes.MapRoute("Default",//路由名称"{controller}/{action}/{id}",//带参数的URLnew{controller="Home",action="Index",id=UrlParameter.Optional}//参数默认值);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: