3

我有一个master.cshtml带导航栏的。我的第一个链接是另一个视图,ProjectManagement

<li><a href="~/Views/ProjectManagement.cshtml">Project Management</a></li>

master.cshtml/Views/Shared/_master.cshtml

ProjectManagement/Views/ProjectManagement.cshtml

每当我点击链接时,我都会得到:

说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/Views/ProjectManagement.cshtml

我使用了错误的路径还是应该尝试以不同的方式访问该页面?

编辑:我可以通过使用这个来接近:

<a href="@Html.Action( "ProjectMgmt", "Service", "Project Management" )">

唯一的问题是它现在将页面放入我的导航栏中!我只希望它链接到页面,这次我能做什么?

4

1 回答 1

2

您不直接链接到视图,而是链接到操作。动作被实现为控制器上的方法;这些方法是使用路由系统定位的。

示例控制器:

public class ServicesController : Controller 
{
    [HttpGet]
    public ActionResult ProjectManagement()
    {
         // automatically locates the correct view; you can also explicitly
         // pass the path to the view
         return View();
    }
}

您现在可以右键单击操作方法名称(“ProjectManagement”)并选择“添加视图”。这将帮助您创建一个新视图,并将其放置在视图引擎可以自动找到的位置。

视图通常放置在“Views/[ControllerName]/”文件夹中,例如“Views/Services/ProjectManagement.cshtml”。

要在导航栏中链接到此操作方法,您可以使用辅助方法ActionLink()

<li>@Html.ActionLink( "Project Management", "ProjectManagement", "Services" )</li>

另请参阅:控制器和路由

于 2013-04-21T20:25:05.260 回答