면도기 뷰 엔진과 Html.LabelFor(), Html.TextBoxFor()와 같은 네이티브 메서드를 사용하여 HTML 도우미간에 직접적인 HTML 또는보기를 구성하는 직접적인 HTML간에 상당한 성능 차이가 있는지 알고 싶습니다.HTML 도우미를 사용하여보기를 만드는 것이 직접 HTML을 사용하는 것보다 낫습니다. 성능 고려
HtmlHelpers (성능 측면) 사용을 피해야하는 경우가 있습니까?
면도기 뷰 엔진과 Html.LabelFor(), Html.TextBoxFor()와 같은 네이티브 메서드를 사용하여 HTML 도우미간에 직접적인 HTML 또는보기를 구성하는 직접적인 HTML간에 상당한 성능 차이가 있는지 알고 싶습니다.HTML 도우미를 사용하여보기를 만드는 것이 직접 HTML을 사용하는 것보다 낫습니다. 성능 고려
HtmlHelpers (성능 측면) 사용을 피해야하는 경우가 있습니까?
도우미를 사용해야하는 방식으로 사용하는 한, 디자이너가 사용법을 배우는 것은 상당히 사소한 일입니다. 물건을 단순하게 유지하는 것이 목표라는 것을 기억하십시오. 물건을 더 복잡하게 만들면 올바르게 사용되지 않는다는 것을 의미합니다.
성능 차이가 나는 성능에 대한 답변이없는
무시할하지만 난 당신의 마지막 질문에 대한 답변을해야합니까.
HtmlHelpers를 사용하지 않는 경우가 있습니까?
우리 프로젝트에서 정적 메서드 (예 : HTML 도우미 확장 메서드)는 우리가 원하는 방식으로 단위 테스트를하기가 어렵 기 때문에 HtmlHelpers를 사용하지 않는 경향이 있습니다.
HTML 도우미 (확장 메서드)를 사용하는 대신 뷰에 대한 사용자 지정 기본 클래스가 있습니다. 이 기본 클래스는 헬퍼 서비스 (Uri, Html, DataEndpoint)를 노출하고 테스트 할 수 있도록 유지합니다.
양식을 작성할 때 헬퍼 메서드를 사용하는 것이 좋습니다. 나는 이 아닌을 Html.TextboxFor()를 사용하여, 편집자에게 Html.EditorFor()를 사용하는 시간의 99 %를 선호합니다. 그것은 내 모든 필드가 올바른 이름과 ID의의를 확인합니다 , 그것은하지 않고, 클라이언트 검증의 사용을 가능하게이 나에게 많이 제공
@Html.LabelFor(model=>model.SomeField)
@Html.EditorFor(model=>model.SomeField)
@Html.ValidationMessageFor(model=>model.SomeField)
:
그래서,이 같은 양식을 구축 많은 추가 마크 업을 작성해야합니다.
Html.TextboxFor() 대신 Html.EditorFor() - 메서드를 사용하면 올바른 필드에 적합한 편집기를 사용할 수 있습니다. 이메일 필드는 type = "email"을 사용해야하며 날짜는 type = "date"를 사용해야합니다. type = "text"가 아닙니다. EditorFor()를 사용하면 TextboxFor() 또는 일반 마크 업을 사용하는 템플릿을 만들 수 있습니다. 이 방법으로 이메일 필드가있는 모든 모델은 동일한 편집기를 가져올 것이고 모든 날짜는 같은 날짜 표시기를 갖게됩니다.
즉, EditorForModel()을 사용하지 않는 경우 항상 LabelFor(), EditorFor() 및 ValidationMessageFor()를 사용하십시오. 특별한 마크 업이 필요하면 템플릿을 사용하십시오.
예, @ Html.LabelFor(), @ Html.TextBoxFor() 메소드를 참조합니다. – TiagoBrenck
정확합니다. 이 도우미는보기를 체계화하고 복잡하고 쉽게 잊어 버릴 수있는 HTML 코드를 작성하는 것을 피하는 간단한 방법을 제공합니다. – equisde
예. 개발자 사이클은 CPU 사이클보다 비용이 많이 든다. –