簡體   English   中英

Asp.Net核心使用Html.ActionLink路由到區域控制器

[英]Asp.Net Core Routing to an area controller with Html.ActionLink

我在Startup.cs中設置了這樣的路由設置

app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "areas",
                template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

          routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");

        });

和一個像這樣配置的控制器:

[Area("Pad")]
public class RequestsController : BaseController
{
    [HttpGet]
    public ActionResult Index()
    {
   ....
     }
}

在我的主頁上,我有一個鏈接設置轉到此控制器:

 @Html.ActionLink("PAD","Index","Requests",new{area="Pad"},null)

只有這樣才能將鏈接呈現為

<a href="/Pad/Requests">PAD</a>

當控制器的實際網址似乎是

https://localhost:44358/Pad/Pad/Requests

我不明白這是如何解決的,以及網址中額外的“墊”來自何處。 任何人都可以啟發我。

如果其他人遇到這種奇怪的事情,我設法通過創建一個新項目並將所有代碼添加到其中來解決這個問題。 我認為這可以幫助我找出問題,而不是它就消失了!

暫無
暫無

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

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