gpt4 book ai didi

.NET MVC - 在同一 Controller 中使用 ActionName() 的多个 GET 方法

转载 作者:行者123 更新时间:2023-12-05 06:47:01 28 4
gpt4 key购买 nike

以下路由在我的 WebApiConfig.cs 中:

// routing for /profile/
config.Routes.MapHttpRoute(
name: "profile",
routeTemplate: "users/{userid}/profil",
defaults: new { controller = "User", userid = RouteParameter.Optional }
);

// routing for /messages/
config.Routes.MapHttpRoute(
name: "messages",
routeTemplate: "users/{userid}/messages",
defaults: new { controller = "User", userid = RouteParameter.Optional }
);

这是 Controller 中的相应代码:

public class UserController {

[HttpGet]
[ActionName("profile")]
public HttpResponseMessage GetProfile(int userid) {}


[HttpGet]
[ActionName("messages")]
public HttpResponseMessage GetMessages(int userid) {}

}

所以基本上我想在同一个 Controller 中有两个方法,它们都采用相同的参数,但映射到不同的 URL。现在,我一直收到有关找到多个操作的错误 - 即使我有 ActionName 属性的区别。

我做错了什么?我可以在同一个 Controller 中使用两个 GET 方法,采用相同的输入但在不同的 URL 上调用吗?

谢谢!

最佳答案

您是否尝试过在路由定义中专门添加操作名称?

 config.Routes.MapHttpRoute(
name: "profile",
routeTemplate: "users/{userid}/profil",
defaults: new { controller = "User", action="profil", userid = RouteParameter.Optional }

);

关于.NET MVC - 在同一 Controller 中使用 ActionName() 的多个 GET 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671530/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com