簡體   English   中英

將根請求路由到此控制器並在MVC中執行操作

[英]Routing root request to this controller and action in MVC

我有以下格式的URL請求: 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過程將主機名轉到Home控制器,然后執行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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM