有关用mvc做的网站,大家可以试试:http://www.tita.com?inviteUserId=F59EBD084D66B898A748A4E7DE281303
1.表单
使用HtmlHelper的扩展类FormExtensions来生成Form,这里重点介绍BeginForm方法,它有13个重载方法,通过重载方法为表单添加属性,像action,method,id,enctype等属性。下面我们用其中一个方法来生成表单:
生成结果
2.表单元素
a.来看一下InputExtensions类中的一些生成元素的常方法,其中每个方法都有重载方法:
- CheckBox方法: 返回复选框 input 元素
- Hidden方法:返回隐藏的 input 元素
- Password方法:返回密码 input 元素
- RadioButton方法:返回用于呈现互斥选项的单选按钮 input 元素
- TextBox方法:返回文本 input 元素
直接上例子:
结果:
html源码:
b.LinkExtensions类
- ActionLink方法:返回包含指定操作的虚拟路径的定位点元素(a 元素)
- RouteLink方法: An anchor element (a element)
例子:
生成html代码:
c.ChildActionExtensions类,包括下面两个方法,每个方法都有六个重载函数
- Action方法:使用指定的參數叫用指定的子系動作方法,並以 HTML 字串形式傳回結果。把目标页镶嵌在本页中
- RenderAction方法:无返回值的方法,也是把目标页镶嵌在本页中
假如在同一个controller下有a,b两个action
如果在a页面上调用 <%:Html.Action("b")%>或者<% Html.RenderAction("b"); %>,哪么显示出来的结果将是b页面镶嵌在a页面中。
下面用例子来验证上面的结果:
在HomeController类中有两个actin,分别是a方法和b方法。
下面分别是a页面和b页面中的代码:
在浏览器中输入:http://localhost:12151/home/a 结果如下:(这里会把b页面中html代码全部放入到a页码中 )
这是a页面
这是b页面
由结果可知:<%:Html.Action("b") %>处的代码把页面中的内容显示到了a页面中.
d:PartialExtensions类,这个类比较简单,是把用户自定义控键呈现在页面上,只有一个方法
- Partial方法:这个方法有4个重载,都很简单
调用这个方法的时候真接把用户自定义好的控键()的名字传入方法中既可:如<%:Html.Partial("partialViewName")%>
这些就会把这个控键的内容在父页面上显示出来了。很简单,大家可以去试一下。
e:SelectExtensions类
- DropDownList方法
- ListBox方法
对于上面两个方法,一看名字就知道是干啥用的,就不细说了。。
DropDownList小例:
结果图:
生成Html源码:
些外还有其它一些扩展类,像
TextAreaExtensions,ValidationExtensions等。。
完成任务