ASP.NET MVC3 부분 뷰 명명 규칙
MVC 개발은 처음이라 조금만 참아주세요.나의 부분적인 견해를 다음과 같이 명명할 필요가 있습니까?_Action.cshtml
(와 함께)_
밑줄) 명명 규칙을 준수해야 합니까?
여기 제 문제가 있습니다. "List.cshtml"이라는 부분 보기 파일을 가진 컨트롤러(학생 컨트롤러)와 작업(목록)이 있고 다음과 같은 작업이 있습니다.
@{ Html.RenderAction("List", "Student"); }
내 홈 컨트롤러 내부에 표시 - 인덱스 보기를 작동하는 부분 보기로 표시합니다.하지만 제 부분적인 견해를 말하자면,_List.cshtml
물론 그것은 작동하지 않을 것입니다.Visual Studio는 여전히 내 작업과 정확히 같은 이름을 찾고 있다고 생각하기 때문에 내 작업 학생 - 목록에 대한 보기조차 찾을 수 없습니다.(List.cshtml)
.어떻게 해야 하나?
저는 ASP에 너무 익숙합니다.ascx.cs 코드가 쌍으로 구성된 NET ascx . :(
밑줄을 사용할 필요는 없지만 직접 제공되지 않는 파일에 대한 일반적인 규칙입니다.
이 문제를 해결하려면 뷰 이름을 매개 변수로 사용하여 뷰 또는 부분 뷰를 반환하는 옵션이 있습니다.
return View("_List");
또는
return PartialView("_List");
또는 다른 뷰 내부
@{ Html.RenderPartial("_List"); }
부분 뷰가 ActionMethod에 의존하고 항상 ActionMethod에 의해 렌더링되는 경우 다음과 같은 부분 뷰 이름을 사용해야 합니다.
public PartialViewResult List()
{
DoSomthing();
//PartialView() return a "List "Parial View
return PartialView();
}
하지만 만약 당신의 부분적인 견해가 행동 방법에 의존하지 않고 이렇게 직접적으로 견해에 의해 호출된다면.
@Html.RenderPartial("_List");
첫째로, 어떤 플랫폼이든 새로워지는 것은 부끄러운 일이 아닙니다.그리고 이것은 8년 전의 일이기 때문에 여러분은 아마 더 이상 새로운 사람이 아닐 것입니다.사용할 명명 규칙을 사용할 수 있습니다.공유 보기에만 밑줄(_)을 사용하는 원래 MVC 명명 규칙을 사용합니다.부분 뷰는 해당 작업의 이름을 따서 지정해야 합니다.물론 공유 보기가 아닌 경우 보기 이름은 Action.cshtml입니다.
제 추론은 간단합니다.작업에서 보기 또는 부분 보기를 호출하고 viewName을 제공하지 않으면 보기의 이름이 작업의 이름이라고 가정합니다.또한 _Layout.cshtml의 이름은 밑줄로 지정됩니다.이는 공유되기 때문이지 부분적인 보기가 아니기 때문입니다.이 실수는 MVC 세계 곳곳에 있습니다.사람들은 그것에 대해 정말로 열렬히 틀렸습니다.왜 그런지 모르겠네요.명명 규칙은 상점의 재량입니다.
방법은 다음과 같습니다.Html.RenderAction
그리고.Html.Action
컨트롤러에 대한 호출 작업. 방법은 다음과 같습니다.Html.RenderPartial
그리고.Html.Partial
작업을 통과하지 않고 모델을 레이저 보기로 직접 전달할 수 있습니다.
마지막으로 한 가지, 전화.Action
에 RenderAction
.RenderAction
이미 코드 블록 내부에 있는 경우에만 호출됩니다.이것은 거의 절대 그렇지 않습니다.사람들이 사용하는 것을 봅니다.RenderAction
빌드가 깨졌다고 해서 불필요하게 코드 블록을 추가할 수 있습니다.다음 두 코드 스니펫은 정확히 동일하며 두 번째 코드는 제 생각에 훨씬 더 읽기 쉽습니다.제가 넣었습니다.div
코드가 코드 블록에 없음을 강조하기 위해:
<div>
@{ Html.RenderAction("List", "Student"); }
</div>
<div>
@Html.Action("List", "Student")
</div>
결론은 밑줄이나 곱슬곱슬한 중괄호를 불필요하게 사용하지 말라는 것입니다.그들은 못생긴 캐릭터들이고 우리는 그들을 피해야 합니다 ;)
언급URL : https://stackoverflow.com/questions/5750953/asp-net-mvc3-partial-view-naming-convention
'programing' 카테고리의 다른 글
Android:WebView에서 AJAX 호출 가로채기 (0) | 2023.08.22 |
---|---|
float64 with 팬더 to_csv (0) | 2023.08.22 |
다대다 관계 예제 (0) | 2023.08.22 |
내보내기-CSV 내보내기 길이만 이름이 아님 (0) | 2023.08.22 |
git 원격 분기 추가 (0) | 2023.08.22 |