我在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
我不知道该如何解决以及网址中多余的“ Pad”来自何处。谁能启发我。
答案 0 :(得分:0)
万一其他人遇到这种奇怪的情况,我设法通过创建一个新项目并将所有代码添加到其中来解决这个问题。我以为这可以帮助我确定问题所在,但是问题就消失了!