2011-02-04 3 views
1

저는 종종 ASP.NET MVC의 큰 장점 중 하나 인 WebForms의 pseudomarkup과는 달리 실제 페이지 마크 업에 더 가깝게 접근한다는 사실을 널리 알리고 있습니다.HTML에 더 가깝습니다 ... 그렇다면 왜 HtmlHelper인가?

그렇다면 왜 HtmlHelper가 존재합니까? 이 모든 것 같습니다 LabelFor, TextBoxFor<asp:Label><asp:TextBox> 같이 WebForms 많은 pseudomarkup 것 같습니다.

무엇이 누락 되었습니까? HtmlHelper 클래스가있는 이유는 무엇입니까? 사람들은 그것을 실제 생활에서 사용합니까?

+0

이 현실인가에 근접하지 않도록 선택할 수 있습니다? – jfar

+0

즉, "자습서"또는 무엇인가에 반대되는 실생활입니다. –

답변

3

HtmlHelper 함수가 렌더링 된 정확한 마크 업을 추상화한다고 말하는 것이 맞지만이 큰 장점은보기가 더 많다는 것입니다 (DRY). 사용자 정의를 위해 함수에 필요한 매개 변수를 전달할 수 있습니다. 생성 된 HTML.

<input /> 태그를 수동으로 입력하는 대신 value=<%= Model.Property %>으로 작성하면 Html.TextBoxFor은 같은 것을 더 간단하게 출력하는 방법입니다. 모든 DRY 접근법과 마찬가지로, 애플리케이션의 모든 텍스트 상자에 대해 HTML을 변경해야하는 경우 (예 : 새 속성을 출력하는 경우) HtmlHelper 메소드를 변경하기 만하면됩니다.

그들은 약간의 입력이 주어지면 일관된 HTML을 출력하도록 설계된 간단하고 가벼운 부분보기와 같이 나에게 보인다.

2

HTML 도우미의 요점은 지루하고 반복적 인 <input> 태그를 제거하는 것입니다.

서버 측 컨트롤과 달리 HTML 도우미는 원시 (상당히) 예측 가능한 HTML을 방출합니다.

1

이들의 생성을 단순화하고 강력한 이름을 부여합니다. 물론 사람들이 이것을 사용합니다!

1

저는 답변에 동의하지 않으며, 어떻게 든 당신에게 동의합니다.

헬퍼를 미리 작성된 사용자 정의 컨트롤로 생각할 수 있습니다. 코드를 생성하고 싶다면 헬퍼를 사용할 수 있습니다. 깨끗한 접근 방식을 원하고 html에 가까워지기를 원한다면 그렇게하십시오.

여기에서 중요한 점은 MVC를 사용하면 html에 가깝게 접근 할 수 있지만 그 경우에만 제한된다는 것입니다.

원하는 마크 업을 생성 한 자신 만의 도우미를 만들어 대신 사용할 수 있습니다. 하루의 끝에서

, 그것은 자신의 취향에 내려 온다, 당신은을 선택하거나 HTML

관련 문제