[英]Add custom word in the URL of Route attribute ASP.NET MVC
如何在某些MVC调用的URL中添加自定义,用户定义的单词?
例如,我在控制器的方法上具有此属性:
[Route("accounts/transactions"]
我正在尝试将路由更改为以下形式: /accounts/{accountNumber}/transactions
其中accountNumber是可更改的,并在发送请求时由客户端发送。 客户端通过这样的URL发送其帐号: localhost:50490/accounts/1234567890/transactions
和控制器方法被调用。
我可以以某种方式更改Route参数,以便它可以处理这种情况,或者我需要完全不同的解决方案。
是的,您可以更改路线来处理这种情况。
解决方案1:
[Route("accounts/{accountNumber:int}/transactions"]
public ActionResult Transactions(int accountNumber) {
/* action body */
}
笔记:
1) accountNumber:int
仅用于整数,不允许为null。
2)您的操作必须具有accountNumber
作为参数。
解决方案2:您可以在RouteConfig
添加此路由
routes.MapRoute(
name: "accountNumber",
url: "accounts/{accountNumber}/transactions",
defaults: new { controller = "Accounts", action = "Transactions" }
);
您的操作必须将此作为参数
public ActionResult Transactions(string accountNumber) {
/* action body */
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.