href链接到一个不工作的视图asp.net核心2

时间:2018-05-07 14:13:38

标签: asp.net-mvc razor asp.net-core-2.0

我已经在Core 2和razor上完成了几个重要的工作,但似乎无法让这件事变得非常简单。 我将名为Contact.cshtml的本地视图拖放到剃刀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>

我只是希望它在点击href时显示联系人视图。

在Views / Home下有一个Contact.cshtml视图。

HomeController.cs有:

 public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View();
    }

    public IActionResult About()
    {
        ViewData["Message"] = "--- Under Development ---";

        return View();
    }

    public IActionResult Contact()
    {
        ViewData["Message"] = "For help and support please contact one of the below departments.";

        return View();
    }

运行时会得到: 找不到此localhost页面 未找到网址的网页:http://localhost:65061/Views/Home/Contact.cshtml

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

尝试把这个

<a asp-action="Contact" asp-controller="Home">Whatever</a>

代替你的

<a href="/> code

答案 2 :(得分:0)

您正在直接引用.cshtml文件,我建议让路由执行此工作:

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

在MVC中,.cshtml通常不会直接暴露。

答案 3 :(得分:0)

您必须像这样先添加@page:

@page
@{
    ViewData["Title"] = "About 1st Choice 
Web Portal";
}

这将使您的href得到认可