Соглашение об именовании в ASP.NET MVC3 Partial View - PullRequest
41 голосов
/ 22 апреля 2011

Я новичок в разработке MVC, поэтому, пожалуйста, потерпите меня.Действительно ли необходимо называть мое частичное представление как _Action.cshtml (с подчеркиванием _), чтобы соответствовать соглашению об именах?

Вот моя проблема: у меня есть контроллер (StudentController) и действие (Список)в нем есть файл частичного представления с именем «List.cshtml» и

@{ Html.RenderAction("List", "Student"); } 

, чтобы отобразить его внутри моего HomeController - индексное представление как частичное представление, которое работает.Но если я назову свой частичный вид _List.cshtml, конечно, он не будет работать.Visual Studio не может даже найти представление для моего действия Student - List, потому что думает, что все еще ищет то же имя, что и мое действие (List.cshtml).Что я должен делать?

Я так привык к ASP.NET ascx с кодом сопряжения ascx.cs.(

Ответы [ 2 ]

57 голосов
/ 22 апреля 2011

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

Чтобы решить эту проблему, у вас есть возможность вернуть View или PartialView с именем вида в качестве параметра.

return View("_List");

или

return PartialView("_List");

или внутри другого вида

@{ Html.RenderPartial("_List"); }
1 голос
/ 29 января 2018

Если частичное представление зависит от ActionMethod и всегда отображается методом Action, вы должны использовать то же имя частичного представления, что и метод действия, как этот

public PartialViewResult List()
     {
        DoSomthing();
        //PartialView() return a "List "Parial View  
        return PartialView();
     }

, но если частичное представление не зависит от метода действия и напрямуюзвоните по просмотру, как это

@Html.RenderPartial("_List"); 
...