Asp.net mvc href指向asp.net core 2不工作的视图的链接

Asp.net mvc href指向asp.net core 2不工作的视图的链接,asp.net-mvc,razor,asp.net-core-2.0,Asp.net Mvc,Razor,Asp.net Core 2.0,我已经在Core 2和razor上完成了几门辅导课,但似乎无法让这件非常简单的事情顺利进行。 我将一个名为Contact.cshtml的本地视图拖放到razor About.cshtml文件中,它添加了底线,目前看起来如下: @{ ViewData["Title"] = "About 1st Choice Web Portal"; } <h2>@ViewData["Title"]</h2> <h3>@ViewData["Message"]<

我已经在Core 2和razor上完成了几门辅导课,但似乎无法让这件非常简单的事情顺利进行。 我将一个名为Contact.cshtml的本地视图拖放到razor About.cshtml文件中,它添加了底线,目前看起来如下:

    @{
    ViewData["Title"] = "About 1st Choice Web Portal";
}
<h2>@ViewData["Title"]</h2>
<h3>@ViewData["Message"]</h3>

<p>Internal Use Website only.</p>
<p>Currently Under Development.</p>
<p>For feedback please use our Contact page.</p>
<a href="~/Views/Home/Contact.cshtml">~/Views/Home/Contact.cshtml</a>
@page
@{
    ViewData["Title"] = "About 1st Choice 
Web Portal";
}
当它运行时,会得到一个: 找不到此本地主机页
找不到网址的网页:

您无法链接到视图。事情不是这样的。您需要一个加载该视图的操作,然后链接到指向该操作的路由。

如果您直接引用.cshtml文件,我建议让路由完成这项工作:

<a href="~/Home/Contact">Contact</a>

在MVC中,.cshtml通常不直接公开。

试着把它放在

<a asp-action="Contact" asp-controller="Home">Whatever</a>
不管怎样 而不是你的

<a href="/> code

您必须先包含@page,然后才能这样做:

    @{
    ViewData["Title"] = "About 1st Choice Web Portal";
}
<h2>@ViewData["Title"]</h2>
<h3>@ViewData["Message"]</h3>

<p>Internal Use Website only.</p>
<p>Currently Under Development.</p>
<p>For feedback please use our Contact page.</p>
<a href="~/Views/Home/Contact.cshtml">~/Views/Home/Contact.cshtml</a>
@page
@{
    ViewData["Title"] = "About 1st Choice 
Web Portal";
}

这将使你的href变得如此简单。谢谢。这基本上和我想的一样……至少它给了我相同的错误信息。啊,对不起,我应该从路径中删除/Views/的。也就是说,我认为@T.Sardilis的答案更适合MVC。