MVC의 View에서 HTML을 쉽게 생성하기 위해 Html Helper를 제공하고 있다
Html Helper는 모두 @Html로 시작하는데, @는 Razor 문법이며 View 클래스의 Html 속성을 호출한다는 의미이다
public abstract class WebViewPage : WebPageBase
{
public AjaxHelper<object> Ajax { get; set; }
public override HttpContextBase Context { get; set; }
public HtmlHelper<object> Html { get; set; } // Html Helper
public UrlHelper Url { get; set; }
}
Html Helper는 확장메서드 형태로 HTML을 쉽게 생성하기 위한 메서드들을 가지고 있는데 이들은 모델 데이터나 View 데이터를 바인딩 할 때 유용하다
Weakly Typed 메서드: Html.TextBox()와 같은 형태
Strongly Typed 메서드: Html.TextBoxFor()와 같은 형태
@Html.TextBox("Name", null, new {@ class = "form-control"})
// 첫번째 파라미터: 모델(Guest)의 Name 속성을 사용한다는 의미
// 두번째 파라미터: TextBox의 Value, null이면 Guset.Name
// 세번째 파라미터: HTML의 기타 attributes
// <input class="form-control" id="Name" name="Name" type="text" value="jmkim"/>
@Html.TextBoxFor(m -> m.Name, new {@ class = "form-control"})
// 첫번째 파라미터: 람다식, 입력: m = 모델(Guest) / 출력: m.Name = Guest.Name
// 두번째 파라미터: TextBox의 Value, null이면 Guset.Name
// 세번째 파라미터: HTML의 기타 attributes
// <input class="form-control" id="Name" name="Name" type="text" value="jmkim/>