Asp.net MVC2学习笔记4-View(续)

本文介绍了ASP.NET MVC中HtmlHelper的基本使用方法,包括常见的HTML元素生成如链接、表单、文本框等,并演示了如何通过扩展方法来自定义HtmlHelper功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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名称(我注:Action返回的是ActionResult,就是View页面,但是这里的Controller是默认的HomeController吗?如果不是的话,该怎么表示另外一个Controller?)

 

3、<%Html.BeginForm(); %>

  实际页面生成 <form >;表单的开始

  Html.BeginForm(string actionName,string controllerName);指定action的名称和哪个控制器,页面生成内容<form action="XX/XX" method="post"> 我注:不知道这里的method是怎么选择的?)

 

  

 

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,只不过它给我们封装好了,用起来也比较方便。

 

 (我注:C#语言从3.0开始增加了一个很特别的功能:扩展方法。简单的扩展方法的学习,可以参照我转载的另一篇博文:http://blog.youkuaiyun.com/Csdbfans/archive/2010/09/22/5900464.aspx)

下面我们简单扩展一下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 使用方法:

<%=Html.MyLable("ta","test")%>

 

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

 

转自:http://www.cnblogs.com/bboy/archive/2010/01/16/1649712.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值