问题描述
如果我注册一个路由:routes.MapRoute(name:"Default",url:"{controller}/{action}/{id}",defaults:new{controller="Home",action="Index",id=UrlParameter.Optional});那么以下action可以获取到传递的参数值(id可以获取到值):publicclassHomeController:Controller{publicActionResultIndex(stringid){returnView();}}但是当我把action里面的参数名更换以下变成以下代码:publicclassHomeController:Controller{publicActionResultIndex(stringmm){returnView();}}这个时候mm的值为null,求问这是什么原因。
解决方案
解决方案二:
MVC的要求是参数名匹配
解决方案三:
你要是访问Home?mm=xxx的话mm就有值
解决方案四:
由于路由中并未定义mm,所以这里路由匹配的时候应该是Home/Index?mm=...
解决方案五:
routes.MapRoute(name:"Default",url:"{controller}/{action}/{id}",defaults:new{controller="Home",action="Index",id=UrlParameter.Optional});注意标红部分
解决方案六:
你在routes.MapRoute里已经制定了你的参数叫做id
解决方案七:
Controller/Action/param
时间: 2024-08-03 03:56:53