c# - Asp.net MVC 5 属性路由约束

标签 c# asp.net-mvc routes

正在看帮助Attribute Routing in ASP.NET MVC 5很容易看出如何约束参数如下:

[Route("edit/{promoId:int?}")]
public ActionResult Edit(int? promoId) { … } 

因此这条路线将只接受具有 int 值或空值的 promoId

此路由的一些有效 URL 是:

/promotions/edit/5
/promotions/edit/

但是如何设置 RouteAttribute 来接受“/promotions/edit/promoId=5”?

最佳答案

您尝试通过将此类 URL 指向您的操作,在 App_Start 文件夹中的 RouteConfig.cs 中设置它。

routes.MapRoute(
           name: "Edit",
           url: "{controller}/{action}/promoId={promoId}",
           defaults: new { controller = "Promotions", action = "Edit", promoId = UrlParameter.Optional }
);

关于c# - Asp.net MVC 5 属性路由约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523867/

相关文章:

c# - 反序列化具有在 AssemblyResolve 上加载的其他程序集中声明的类型字段的对象时出错

c# - Linq 聚合累积的 bool 值

c# - JSON 文件发布到 azure 后无法工作,但在本地可以正常工作

c# - 忽略特定操作的 Controller 路由属性

c# - 如何修复 xamrian.android 中未绑定(bind)的前缀

c# - C/C#-编码(marshal).PtrToStringAnsi

session - 在路由子集上激活的 Express.js session

ruby-on-rails - Rails 路线 - 以 root 身份显示 Action

c# - 传入字典的模型项是 'System.Web.Mvc.HandleErrorInfo' 类型的,但是这个字典需要一个模型项的类型

c# - MVC 5 翻译 IdentityResult