asp.net mvc路由id参数
发布时间:2020-12-15 23:10:32 所属栏目:asp.Net 来源:网络整理
导读:我在asp.net mvc上的一个网站上工作.我有路线 routes.MapRoute( "Default",// Route name "{controller}/{action}/{id}",// URL with parameters new { controller = "Home",action = "Index",id = UrlParameter.Optional } // Parameter defaults); 这是默
我在asp.net mvc上的一个网站上工作.我有路线
routes.MapRoute( "Default",// Route name "{controller}/{action}/{id}",// URL with parameters new { controller = "Home",action = "Index",id = UrlParameter.Optional } // Parameter defaults ); 这是默认路由.我有一个方法 public ActionResult ErrorPage(int errorno) { return View(); } 现在,我想用http://something/mycontroller/Errorpage/1运行这个代码 这个方法有相同的参数名称是强制的吗?还是需要为这种情况创建单独的路线? 解决方法
因此,您有一个名为errorno的参数,并且您希望它具有参数id的值.这显然是有约束力的问题.
如何解决: >为模型绑定器创建一个类: public class ParameterBinder : IModelBinder { public string ActualParameter { get; private set; } public ParameterBinder(string actualParameter) { this.ActualParameter = actualParameter; } public object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext) { object id = controllerContext.RouteData.Values[this.ActualParameter]; return id; } } >为自定义模型绑定创建自定义属性: [AttributeUsage(AttributeTargets.Parameter)] public class BindParameterAttribute : CustomModelBinderAttribute { public string ActualParameter { get; private set; } public BindParameterAttribute(string actualParameter) { this.ActualParameter = actualParameter; } public override IModelBinder GetBinder() { return new ParameterBinder(this.ActualParameter); } } >根据需要将新属性应用于您的动作参数: public ActionResult ErrorPage( [BindParameter("id")] int errorno) { return View(); } 现在你的errnoo会有这个值,它被传递给你的url的id. 注意:您可以从上述示例中删除参数id,如果您确定只需要为id解决问题. 离开这种方式将允许你绑定其他参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-web-api – Web API中的Actions和QueryString参数
- asp.net-mvc – ASP.NET MVC现在是“开源”.这是一件好事吗
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automap
- asp.net-mvc – 用于轻量级内容编辑的MVC 5自定义HtmlHelpe
- asp.net ajax实现无刷新验证码
- asp.net-mvc-3 – 为什么会话状态超时会覆盖我的MVC3应用程
- asp.net – 访问视图Mvc.net中的路由值
- asp.net-mvc – 多对多的ASP.NET MVC绑定
- asp.net-mvc-2 – ASP.NET MVC SiteMap
- ASP.NET 站点地图的使用
推荐文章
站长推荐
- asp.net-core – 如何将在TagHelper流程方法中生
- asp.net-web-api – 可以从Request对象获取当前的
- ASP.NET MVC5 Bootstrap CSS乱搞导航?
- asp.net – ASP .Net文件上载超出最大请求长度错
- asp.net-mvc – MVC包含路径无效错误
- asp.net-mvc – 用于Web.config的T4MVC
- 尝试将AutoMapper用于具有子集合的模型,在Asp.Ne
- asp.net – Safari浏览器忽略我的无缓存
- 在ASP.NET中使用Visual Studio发布功能有什么好处
- asp.net-web-api – 如何使用OWIN自动主机的web
热点阅读