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 class MyHelper
    {
        
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")%>

 

这里讲的比较简单,实现起来也很简单啦,大家有兴趣可以找些其他资料来看看会有不少收获。

 

 

 

posted @ 2010-01-16 21:29  -Enchant  阅读(2911)  评论(2编辑  收藏  举报