Asp.net MVC2学习笔记4-View(续)
在View中我们经常使用的就是 HtmlHelper;
到底HtmlHelper给我们带来什么了呢?说白了它就是帮我们生成Html代码而已,没啥特别的,呵呵
今天简单说一下常用的东西:
1、<%= Html.Encode(ViewData["Message"]) %>
Html.Encode:编码显示的内容:当你需要在页面显示一段包含html代码时,则需要用它来编码,否则就会当作普通的Html来显示给你
如:<%=Html.Encode("<a href='#'>Test</a>")%>此时页面就会原样的输出内容,如果不用Html.Encode的话则浏览器当作一个超链接返回给你
2、<%=Html.ActionLink("关于","About") %>
实际页面生成 a 标签;参数 About 是 action名称
3、<%Html.BeginForm(); %>
实际页面生成 <form >;表单的开始
Html.BeginForm(string actionName,string controllerName);指定 action的名称和哪个控制器 ,页面生成内容 <form action="XX/XX" method="post">
4、<%Html.EndForm() ;%>
与上面开始表单标签对应的 结束标签 </form>
5、<%=Html.Hidden("name") %>
页面生成 hidden 标签
6、<%=Html.TextBox("name") %>
页面生成 <input type="text" name="name" /> 标签
7、<%=Html.DropDownList("name") %>
页面生成 下拉框 select
还有其他的标签生成 Html.ListBox/Html.CheckBox 等,这些内容最后实际就是通过 HtmlHelper类 给我们生成 标准的 html代码而已,我们完全可以手工写这些 html标签,而不是用 htmlhelper,只不过它给我们封装好了,直接用就好了还是比较方便的。
下面我们简单扩展一下 HtmlHelper,让他实现我们自己的方法来实现 生成 html代码:
1、新建一个静态类、新建一个静态方法
{
public static string MyLable(this HtmlHelper htmlHelper, string target, string text)
{
return string.Format("<label for='{0}'>{1}</lable>",target,text);
}
}
其他不用多解释,只是说下 MyLable 第一个参数
this HtmlHelper htmlHelper : 这种写法是 3.0以后的 扩展方法,就是 本方法是对 HtmlHelper的扩展,参数 string target,string text 2个参数;
定义完了就好啦,我们直接在页面使用就好了,这里要注意的一点就是 需要在 页面 引入我们的命名空间
在页面的顶部加上 <%@ Import Namespace="MvcApplication1" %>
MyLable 使用方法:
<%=Heml.MyLable("ta","test")%>
这里讲的比较简单,实现起来也很简单啦,大家有兴趣可以找些其他资料来看看会有不少收获。