1.Html.Encode(),等价于<%:%>,对其中的字符,标签等进行转义,达到输出什么展示什么的目的,例如其中的<br/>会直接生成一个<br/>展示在那里,而不是换行。
2.Html.TextBox("name") <===> <input id="name" name="name" type="text" value=""/>
比如后端model传过来的是Product.Name,那么这里的id会变成id="Product_Name",而name会变成name="Product.Name",id自动转换成带下划线是因为id经常在js中用到,而js中的“.”有特殊的意义。
Html.TextBoxFor()
3.Html.ActionLink() 根据生成调用另外Controller的链接
<%:Html.ActionLink("链接文字","anotherAction")%>
Html.RouteLink()
<%:Html.RouteLink("链接文字",new{action="anotherAction"})%>
4.Html.BeginForm
<%:Html.BeginForm()%>
<%:Html.EndForm()%>
注:submit要卸载form里(额,菜鸟就这样,别人当常识,俺自己还要再学习下。)
5.Html.Hidden()
<%:Html.Hidden("guidno","xx-xx-xx")%>
等价于:<input id="guidno" name="guidno" type="hidden" value="xx-xx-xx"/>
强类型:<%:Html.HiddenFor(m=>m.Guid)%>
隐藏域,防止把用户弄糊涂,也同时简单的保证安全。说简单保证安全,是因为右键源代码可以看到隐藏域中的内容。
6.Html.DropDownList
<%:Html.DripDownListFor(m=>m.categorid)%>
Html.ListBox
7.Html.Password() 工作方式和TextBox一样,只是提交以后数据会自动清空。
8.Html.RadioButton 生成一组选择值,要求用户选择其一,给相同的名称就可以互斥
<%:Html.RadioButton("color","red")%>
<%:Html.RadioButton("color","yellow","true")%>
9.Html.Partial和Html.RenderPartial 用于输出不同的html片段,后者直接输出html,无转义,其实就是直接的Response.Write();
10.Html.Action() Html.RenderAction() 用于实现指定Controller的指定Action调用,不能被路由的url直接访问 [ChildActionOnly] [ActionName("")]
重写视图引擎只需要继承IView,IViewEngine这两个接口,重写相应的方法。