2013-04-21 2 views
3

У меня есть master.cshtml с панелью навигации. Моя первая ссылка на другой точке зрения, ProjectManagementКак правильно установить связь между разными видами

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

master.cshtml в /Views/Shared/_master.cshtml

ProjectManagement в /Views/ProjectManagement.cshtml

Всякий раз, когда я нажимаю на ссылку, я получаю:

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Views/ProjectManagement.cshtml

Am I используя неправильный путь или я должен попытаться получить доступ к странице по-другому?

Edit: я смог сблизиться с помощью этого:

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

Единственная проблема заключается в том, что он теперь помещает страницу в моей панели навигации! Я только хочу, чтобы он ссылался на страницу, что я мог делать на этот раз?

ответ

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(); 
    } 
} 

Теперь вы можете щелкнуть правой кнопкой мыши на имени метода действия («управление проектами») и выберите «Добавить вид». Это поможет вам создать новое представление и поместить его в место, которое может автоматически найти механизм просмотра.

Виды обычно помещаются в папку «Views/[ControllerName] /», например. "Views/Услуги/ProjectManagement.cshtml".

Чтобы связать этот метод действий с навигационной панелью, вы можете использовать вспомогательный метод ActionLink().

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

Смотрите также: Controllers and Routing

+0

Спасибо за ответ, после создания нового контроллера услуг и создания представления отсюда, я продолжал добавлять метод действий Вы отправляли сообщение, я получаю сообщение об ошибке, хотя здесь , –

+0

Контроллер для пути '/' не найден или не реализует IController. Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.Web.HttpException: Контроллер для пути '/' не найден или не реализует IController. Ошибка источника: Строка 29:

  • @ Html.Action («Управление проектами», «Управление проектами», «Услуги»)
  • +0

    Хм ... Я предполагаю, что вы перекомпилировали проект после добавления контроллера? Это также может быть вызвано изменениями в таблице маршрутизации или добавлением нескольких областей на сайт MVC. Если вы не найдете что-то очевидное, я бы предложил создать второй пустой проект, чтобы поэкспериментировать с этим. –

    Смежные вопросы