我已经在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
答案 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得到认可