더 나은 방법이 있습니까 @if @else 면도기 뷰로 빌드 된 cshtml 페이지에서 html 요소의 속성을 일부만 변경 (예 : 비활성화, 값, 클래스 등)합니까?MVC3 면도기 최적화보기
답변
MVC 4/면도기 V2에는 몇 가지 개선 사항이 있습니다 :
조건부 특성 렌더링 과거에이 같은 빈 속성을 작성 피하기 위해 NULL 체크를 할 필요했습니다 null이 될 수 속성이있는 경우
:
<div @{if (myClass != null) { <text>class="@myClass"</text> } }>Content</div>
이제 면도기 처리 할 수 있습니다 자동으로 그 속성을 쓸 수 있습니다. 이 널 (null)의 경우, 속성은 기록되지 않습니다 : @myClass
가 null
경우
<div class="@myClass">Content</div>
그래서, 출력은 바로 이것이다 :
<div>Content</div>
을 Jon Galloway's blog에서.
놀라운 feature..like 그것 :) – Aman
난 당신이 면도칼 @if
어떤 성능 결함이 있다고 생각 이유를 알고하지 않습니다하지만 당신은 이것에 대한 귀하의 ViewModel
또는 ViewBag
을 사용할 수 있습니다 : 서버 측 논리를 혼합하지 마십시오,
<input type="text" value="@(ViewBag.TheValue)" />
그러나 가장 좋은 방법에 대해 프레 젠 테이션. 는
업데이트 (I "는 우려의 분리"뜻 했는가) "우려의 분리"
을이보기는해야, HTML 마크 업이 할 수있는만큼이 포함되어 의미 및 HTML 도우미 (마크 업 작성에 도움이되는) 만 제공합니다. 뷰 내부에 로직을 넣지 마십시오. 동일한보기가 코드를 내부에 넣으면 다시 사용하지 마십시오.
ViewModel에서 true/false 값 또는 문자열 값으로 전달할 수 있습니다. 동적으로 활성화 또는 비활성화되도록 설정 될 필요가
- 아무것도 - - 예를 들어 당신이 부울
- 런타임에 설정 문자열입니다 모든 HTML 클래스를 만들 수는 문자열 변수로 전달 될 수있다 당신의 뷰 모델.
등 다른 문
당신은뿐만 아니라 인라인 조건문을 사용할 수있는 모든 @if 당신의 면도기 전망을 정리할 것
:<input type="text" value="@(true == true ? "one value" : "another value")" />
- 1. MVC3 면도기 SelectList.MakeSelection 문제
- 2. MVC3 면도기 ViewData
- 3. MVC3 면도기 템플릿 - EditorForModel
- 4. MVC3, 면도기, 질문
- 5. MVC3 면도기 문법 문제
- 6. MVC3 면도기 수프 - 템플릿?
- 7. MVC3 면도기 SelectedValue DropdownListFor
- 8. 면도기 MVC3 라우팅/내비게이션
- 9. 다른 컨트롤러의 mvc3 면도기
- 10. MVC3 면도기 - 만료 페이지
- 11. ASP.Net MVC3 면도기 Ajax를 사용한 면도기
- 12. 면도날 MVC3 면도기 스타일 시트
- 13. MVC3 - 면도기 뷰 캐싱은 무엇입니까?
- 14. 동적 JqGrid ColModel MVC3 (면도기)
- 15. MVC3 캘린더 익스텐더의 면도기 버전
- 16. 내 MVC3 면도기 페이지에서 Html.Editorfor
- 17. asp.net mvc3 면도기, 자바 스크립트
- 18. MVC3 면도기 및 모달 팝업
- 19. MVC3 + 면도기 뷰 분할 문자열
- 20. 면도기 뷰가있는 MVC3 UrlHelperExtensions (.ASPX에서)
- 21. ASP.NET MVC3 면도기 - 문자열에서보기 만들기?
- 22. MVC3 면도기 3 중 문제
- 23. MVC3 면도기 필요 도움 됨
- 24. asp.net MVC3 면도기 webgrid EditColumn
- 25. asp.net mvc3 면도기 변환 convert
- 26. MVC 면도기 도우미는 내가 구성 요소를 보여 mvc3 면도기 도우미가
- 27. MVC3 aspx 프로젝트에서 MVC3 면도기 뷰 엔진을 사용하도록 변환
- 28. MVC3 면도기 - 나는 다음과 같은 코드로 MVC3 면도기 반복 된 문자열의 집합이
- 29. MVC3 면도기 (.VBHTML)보기를 찾는 방법?
- 30. MVC3 (면도기) 양식을 Ajax 양식으로 변환
글쎄, "if/else"를 피하는 법을 모르겠습니다. 어쩌면 짧은 if/else 구문이 @ (true? "enabled": "disabled")에 도움이 될 수 있습니다. 다른 방법으로 도우미를 만들거나 컨트롤러에서 속성 값을 계산할 수 있습니다. –