asp.net mvc 路由问题, 哪位大哥帮看看

问题描述

routes.MapRoute("第一条路由","{controller}/{action}/{identity}",new{controller="Home",action="Index",identity=UrlParameter.Optional});routes.MapRoute("第二条路由",//路由名称"{controller}/{action}/{currentPage}/{pageSize}",new{controller="Home",action="Index",currentPage=1,pageSize=20});现在定义了这两条路由,访问这个地址是没问题的.http://localhost:28056/Article/Details/8cfcc82e-4f76-4842-ad8a-5397e2f51acd但是这样.http://localhost:28056/Article/List就有问题了.但是我输入把第一条路由注释掉的话,http://localhost:28056/Article/List没问题,但是http://localhost:28056/Article/Details/8cfcc82e-4f76-4842-ad8a-5397e2f51acd这个就挂了.这个是什么问题,谁知道吗?

解决方案

解决方案二:
该回复于2011-12-20 15:12:47被版主删除
解决方案三:
但是我输入把第一条路由注释掉的话,http://localhost:28056/Article/List没问题,但是http://localhost:28056/Article/Details/8cfcc82e-4f76-4842-ad8a-5397e2f51acd这个就挂了.这个时候controller="Article",action="Details",currentPage=8cfcc82e-4f76-4842-ad8a-5397e2f51acd,pageSize=20应该是你程序对curentPage的值处理的时候出错的.
解决方案四:
晕,那应该怎么定义路由呢?楼上?
解决方案五:
不清楚你的具体情况是什么不过暂时可以这样做:设置一个默认值.routes.MapRoute("第一条路由","{controller}/{action}/{identity}",new{controller="Home",action="Index",identity=UrlParameter.Optional},new{action="Details"});routes.MapRoute("第二条路由",//路由名称"{controller}/{action}/{currentPage}/{pageSize}",new{controller="Home",action="Index",currentPage=1,pageSize=20},new{action="List"});
解决方案六:
另:你的~/Article/List页面上.处理url上面currentPage参数的时候.判断下是否可以转化成数字,要不然挂掉多不好啊.
解决方案七:
我的Controller上的方法publicActionResultList(intcurrentPage,intpageSize)算是转化成数字了吧.
解决方案八:
其实mvc里面int参数用int?类型比较好.
解决方案九:
MVC不是还是C#语言写的吗?还是.NET框架,为何int类型用int?比较好?谢谢
解决方案十:
该回复于2011-12-22 09:38:24被版主删除
解决方案十一:
publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute("Home","{Controller}/{Action}",new{Controller="Home",Action="Index"});routes.MapRoute("PhotoDetails","{Controller}/{Action}/{identity}",new{Controller="Home",Action="Details",identity=UrlParameter.Optional},new{Action="Details"});routes.MapRoute("List",//路由名称"{Controller}/{Action}/{currentPage}/{pageSize}",//带有参数的URLnew{Controller="Home",Action="List",currentPage=1,pageSize=20},//参数默认值new{Action="List"});}

已经加了路由参数的约束值,但是还是不行..

时间: 2024-08-03 10:37:37

asp.net mvc 路由问题, 哪位大哥帮看看的相关文章

代码-哪位大哥帮我看下,for循环执行不了,只能执行一条记录,跪谢。

问题描述 哪位大哥帮我看下,for循环执行不了,只能执行一条记录,跪谢. cust_list.asp页面中的代码如下: function del(){ var num=document.getElementById("ckcount"); if(num.innerHTML=="0") { alert('至少要选择一条记录') } else{ if(confirm('确定要删除该表资料吗?')) { var number=document.getElementById

ASP.NET MVC路由扩展:链接和URL的生成

ASP.NET 路由系统通过注册的路由表旨在实现两个"方向"的路有功能,即针对入栈请求的路由和出栈URL的生成.前者通过调用代表全局路由表的RouteCollection对象的GetRouteData方法实现,后者则依赖于RouteCollection的GetVirtualPathData方法,而最终还是落在继承自RouteBase的路由对象的同名方法的调用上.为了编程的方面,ASP.NET MVC为了设计了HtmlHelper和UrlHelper这两个帮助类,我们可以通过调用它们的A

ASP.NET MVC路由扩展:路由映射

上周我写了三篇文章(一.二.三)详细地介绍了ASP.NET的路由系统.ASP.NET的路由系统旨在通过注册URL模板与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但是对于ASP.NET MVC应用来说,请求的目标不再是一个具体的物理文件,而是定义在某个Controller类型中的Action方法.出于自身路由特点的需要,ASP.NET对ASP.NET的路由系统进行了相应的扩展. 一.基本路由映射 通过前面的介绍我们知道基于某个物理文件的路由映射通过调用代表全局路由表的RouteTab

ASP.NET MVC 路由规则XML化

最近由于工作关系,重新回顾了ASP.NET MVC 的 1.0 版本.2.0版本还没有研究. 由于MVC框架发展不久,还有很多不足的地方.其中关于路由规则配置这一块问题比较大.首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的. 代码public static void RegisterRoutes(Route Collection routes) { routes.IgnoreRoute("{resource}.axd/{*pathIn

一起谈.NET技术,ASP.NET MVC 路由规则XML化

最近由于工作关系,重新回顾了ASP.NET MVC 的 1.0 版本.2.0版本还没有研究. 由于MVC框架发展不久,还有很多不足的地方.其中关于路由规则配置这一块问题比较大.首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的. 代码 public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInf

ASP.NET MVC路由配置问题

问题描述 routes.MapRoute(name:"Category",url:"{action}/{category}/{currentpage}",defaults:new{controller="Home",action="Index",category=UrlParameter.Optional,currentpage="1"});这是我的路由配置一节当路由中的catetgory为ASP.NET这

ASP.Net MVC路由配置的问题

问题描述 最近刚刚接触MVC,有一个动态地址需要解析.格式是:http://www.ABC.com/{QQ}/Home/Index/{id}和http://www.ABC.com/CC/Home/Index/{id}这里的{QQ}是动态的,如果QQ有值的话需要判断是否有效,没有效要跳转到http://www.ABC.com/CC/Home.在网上找了很多资料,但都是处理{Controller}/{Action}的,没看到上一层的解析.请问各位大神这个该如何处理?先谢谢了!还有就是,路由是否同时支

asp.net mvc 路由约束的问题

问题描述 //这里有两个路由//约束Movies/ListDyCountries/中文/1context.MapRoute("Movies_list","Movies/{controller}/{action}/{parma}/{id}",new{controller="",action="",parma=@"D+",id=@"d+"});//约束Movies/Play/15580/1c

asp.net mvc 路由的问题

问题描述 我们做的一个项目有如下两个的urlwww.xxx.com/About/Aboutfirstwww.xxx.com/About/Aboutsecond现在老板要求通过park.xxx.com/more来显示上面的第一个的内容(www.xxx.com/About/Aboutfirst)现在老板要求通过sei.xxx.com/more来显示上面的第二个的内容(www.xxx.com/About/Aboutsecond)我们现在已经把park.xxx.com和sei.xxx.com域名映射到了