C# 将根请求路由到此控制器并在MVC中执行操作
我有一个URL请求,格式如下:C# 将根请求路由到此控制器并在MVC中执行操作,c#,asp.net,.net,asp.net-mvc,C#,Asp.net,.net,Asp.net Mvc,我有一个URL请求,格式如下:http://localhost/activate?activationCode=X 我希望通过Activate操作在Home控制器中处理此请求 我不知道如何进行。我已经查看了RouteConfig.cs并了解了此处定义路线的方式: routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home",
http://localhost/activate?activationCode=X
我希望通过Activate
操作在Home
控制器中处理此请求
我不知道如何进行。我已经查看了RouteConfig.cs
并了解了此处定义路线的方式:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但是我如何使Home/Activate
处理以下格式的URL<代码>http://localhost/activate?activationCode=X
…以便添加一个特殊情况,
activate
继续主机名转到主控制器,并且activate
操作?您需要创建一个特定的路由
routes.MapRoute(
name: "Activate",
url: "Activate/{id}",
defaults: new { controller = "Home", action = "Activate", id = UrlParameter.Optional }
);
并将此路径放置在默认路径之前
此外,如果您想要http://localhost/activate/X
而不是http://localhost/activate?activationCode=X
,然后将其更改为
routes.MapRoute(
name: "Activate",
url: "Activate/{activationCode}",
defaults: new { controller = "Home", action = "Activate", activationCode = UrlParameter.Optional }
);
并在HomeController
public ActionResult Activate(string activationCode)