Проблема возврата определенного представления в asp.net mvc3 - PullRequest
1 голос
/ 05 января 2011

У меня есть структура файла представления, такая как:

Views
   Company
      Department
      Employee
          ManageEmployee.cshtml

, и контроллер -

public class EmployeeController : Controller
 {
    public ActionResult Index(int dptId)
    {
            var loadedEmp = getEmpOf(dptId);
            return View("Company/Employee/ManageEmployee", loadedEmp);
     }
}

Но контроллер выдает мне ошибку - сообщая, что он не может найти представление.Это пути, по которым он ищет.

~/Views/Employee/Company/Employee/ManageEmployees.aspx
~/Views/Employee/Company/Employee/ManageEmployees.ascx
~/Views/Shared/Company/Employee/ManageEmployees.aspx
~/Views/Shared/Company/Employee/ManageEmployee.ascx
~/Views/Employee/Company/Employee/ManageEmployee.cshtml
~/Views/Employee/Company/Employee/ManageEmployee.vbhtml
~/Views/Shared/Company/Employee/ManageEmployee.cshtml
~/Views/Shared/Company/Employee/ManageEmployee.vbhtml

В принципе, если мне удастся удалить раздел Сотрудник , механизм его найдет.

~ / Views/Employee/Company/Employee/ManageEmployee.cshtml к этому

~ / Представления / Компания / Сотрудник / ManageEmployee.cshtml

Любые идеи покак этого добиться.

Спасибо.

Ответы [ 4 ]

7 голосов
/ 05 января 2011

Вы пробовали:

return View("/Company/Employee/ManageEmployee", loadedEmp);

Похоже, движок пытается вернуть представление относительно вашего текущего местоположения на сайте, а не из корня сайта.

2 голосов
/ 05 июля 2012

Вид должен быть возвращен с контроллера следующим образом (для конкретного вида):

return View("ManageEmployee", loadedEmp);

В MVC контроллер автоматически направит на предоставленное вами имя просмотра.

loadedEmp должен быть объектом, который вы передаете в представление.

1 голос
/ 10 июля 2012

Если вы хотите иметь собственное соглашение об организации структур папок представлений, лучше подключить собственный движок представлений.

1 голос
/ 05 января 2011

Вы должны следовать соглашению MVC ControllerNameController для вашего контроллера и вашей структуре представления ControllerName /...

Если вы хотите получить полный контроль над своей структурой, вам нужно переключиться на другую среду, такую ​​как1003 * FubuMVC .

...