MVC4 웹 응용 프로그램이 있으며 현재 여러 페이지 (cshtml에 정의되어 있음)에 사용되는 @helper
이 있습니다. 문제는 사용 된 각 페이지에서이를 정의해야한다는 것입니다. 내 @helper
이 모두 포함 된 파일 .cshtml
을 만들고 해당 페이지를 내보기에 포함시킬 수 있습니까?다른 파일로 일반적인 면도기 도우미 이동
즉, 이것은 cms 영역의 모든 색인보기에서 사용됩니다.
@helper DisplayPager(Int32 CurrentPage, Int32 MaxPages) {
String IsActive = "";
<div class="pagination pagination-centered">
<ul>
<li><a href="@Url.Action("Index", new { id = CurrentPage - 1 > 0 ? CurrentPage - 1 : 1 })">Prev</a></li>
@for (int i = 0; i < MaxPages; i++)
{
IsActive = ((i + 1) == CurrentPage) ? "active" : "";
<li class="@(IsActive)"><a href="@Url.Action("Index", new { id = i + 1 })">@(i + 1)</a></li>
}
<li><a href="@Url.Action("Index", new { id = CurrentPage + 1 < MaxPages ? CurrentPage + 1 : MaxPages })">Next</a></li>
</ul>
</div>
}
동일한 정의, 동일한 코드, 모든 것이 동일하지만 코드에 적어도 15 번 이상 있습니다. 여기
에서 그것을 복사,하지만 난 그냥 정적 클래스 파일이 추천 할 것입니다 ('.cs')의 모든 일반적인 기능을 갖는다. 이 파일을'@include MyProject.MyHelpers'와 함께'.cshtml' 파일에 포함시킬 수 있습니다. – musefan
대답하기 쉽게 코드를 업데이트했습니다. – bizzehdee
@helper 구문을 사용하여 재사용 가능한 도우미 메서드를 정의하는 기능은 다음을 참조하십시오. http://weblogs.asp.net/scottgu/archive/ 2011 년 5 월 12 일/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx –