ASP.NET MVC- HtmlHelper的用法

  在ASP.NET MVC框架中没有了自己的控件,页面显示完全就回到了写html代码的年代。还好在asp.net mvc框架中也有自带的HtmlHelper和UrlHelper两个帮助类。另外在MvcContrib扩展项目中也有扩展一些帮助类,这样我们就不光只能使用完整的html来编写了需要显示的页面了,就可以使用这些帮助类来完成。

  1.ActionLink

    <div>
        @Html.ActionLink("这是一个测试", "Other", "Home");

        带有QueryString的写法
        @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 });
        @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }, null);

        QueryString与Html属性同时存在
        @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }, new { id = "link1" })
        @Html.ActionLink("这是一个测试", "Other", new { page = 1 }, new { id = "link1" })

        实际用途(弹出新窗口)
        @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }, new { target = "_blank" });
    </div>
   生成结果:    <div>
        <a href="/Home/Other">这是一个测试</a>;

        带有QueryString的写法
        <a href="/Home/Other?Length=4" page="1">这是一个测试</a>;
        <a href="/Home/Other?page=1">这是一个测试</a>;

        QueryString与Html属性同时存在
        <a href="/Home/Other?page=1" id="link1">这是一个测试</a>
        <a href="/Home/Other?page=1" id="link1">这是一个测试</a>

        实际用途(弹出新窗口)
        <a href="/Home/Other?page=1" target="_blank">这是一个测试</a>;
    </div>
 

  2.RouteLink 跟ActionLink功能一样

 <%=Html.RouteLink("关于", "about", new { })%>
 带QueryString
 <%=Html.RouteLink("关于", "about", new { page = 1 })%>
 <%=Html.RouteLink("关于", "about", new { page = 1 }, new { id = "link1" })%> 

 生成结果:
 <a href="/about">关于</a>
 <a href="/about?page=1">关于</a>
 <a href="/about?page=1" id="link1">关于</a> 

  3.Form表单

    <div>
        @using (Html.BeginForm("Other", "Home", FormMethod.Post, new { id = "myForm" }))
        {

        }
    </div>
   生成结果:     <div>
        <form action="/Home/Other" id="myForm" method="post"></form>
    </div>

  4.TextBox和TextBoxFor

  TextBox和TextBox的不同是,TextBoxFor里面可以存放Model的字段值,而TextBox不可以

    <div>
        @Html.TextBox("txtName", "ChenChunXiao", new { style = "width:300px" })
        @Html.TextBoxFor(a => a.CategoryName, new { @style = "width:300px;" })
    </div>

生成结果
      <input id="txtName" name="txtName" style="width:300px" type="text" value="ChenChunXiao" />
     <input id="CategoryName" name="CategoryName" style="width:300px;" type="text" value="Beverages" />

参考

常用的:http://www.cnblogs.com/fishtreeyu/archive/2011/03/23/1992498.html

扩展方法:http://www.cnblogs.com/wenjiang/archive/2013/03/30/2990854.html

http://www.cnblogs.com/longgel/archive/2010/02/03/1662894.html

时间: 2024-11-02 11:06:35

ASP.NET MVC- HtmlHelper的用法的相关文章

扩展ASP.NET MVC HtmlHelper类

在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 HtmlHelper类用于在ASP.NET MVC framework中帮助视图呈现html部分. 这个类提供了一些方法,你可以使用这些方法呈现html中的一些类型(textbox,checkbox等),或者html的一部分(如form).ASP.NET MVC framework helper有这些内容

[转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择

本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHelper,就像它包含在ASP.NET MVC中一样,扩展方法使我们能为已有的类添加方法.这里使用了一个日期时间选择控件:My97DatePicker,需要添加到网站中,并在页面中引用. 先看看是怎么扩展的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

asp.net mvc Htmlhelper简单扩展

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace WebApplication1.MyHtmlHelper { public static class MyHtmlHelper { //页面渲染结果: //<span>我扩展的Label,自动生成Span标签</span> //把标签名都显示(直接将内

C# ASP.NET MVC HtmlHelper用法大全

HTML扩展类的所有方法都有2个参数: 以textbox为例子 public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, IDictionary<string, Object> htmlAttributes ) public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Ob

C# ASP.NET MVC HtmlHelper用法汇总

1. @Html.Raw() 方法输出带有html标签的字符串: 如: @Html.Raw("<div style='color:red'>Hello World!</div>") 结果:Hello World! 2. @html.ActionLink生成一个<a href=".."></a>标记: 如:@Html.ActionLink(“linkText”.“actionName”.“controlName”,new

【MVC】ASP.NET MVC HtmlHelper用法大全

1.ActionLink <%=Html.ActionLink("这是一个连接", "Index", "Home")%>   带有QueryString的写法 <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page=1 },null)%> <%=Html.ActionLink("这是一个连接

数往知来 ASP.NET MVC HtmlHelper、MVC快速增删改查 Cache MVC3客户端验证 MVC隐式异步提交 &lt;二十八&gt;

一.HtmlHelper.MVC快速增删改查 MVC 在MVC里面请求首先到控制器-->然后 -->数据库数据放在APP_DATE文件夹里, -->js.css文件放在content文件夹里 -->控制器放在Controllers里,控制器要以controller结尾 控制器下面的所有方法都称为action 2)webform跟 aspnet MVC:区别请求的地址不一样了 MVC请求的是控制器下面的action webform:aspx页面或者是一般处理程序 -->a标签

ASP.NET MVC HtmlHelper之Html.ActionLink

前言 ActionLink用于生成超链接,方法用于指向Controller的Action. 扩展方法与参数说明 ActionLink扩展方法如下: public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, strin

Asp.Net Mvc Areas 的用法与好处

前言 在项目中为什么要使用Areas 进行分离 大家都知道,一般的Web应用都有前台(面向用户)和后台(面向管理员)两部分,我们希望以/localhost/Admin 开始的Url 是用户的后台管理地址,因此我们会这么配置自己的路由图. routes.MapRoute( name: "Admin", url: "Admin/{controller}/{action}/{id}", defaults: new { controller = "Home&quo

ASP.NET MVC Html.BeginForm用法1

Html.BeginForm():该方法用于构建一个From表单的开始, 他的构造方法为:Html.BeginForm("ActionName","ControllerName",FormMethod.method) 1.Views代码 1 @using (Html.BeginForm("add", "book", FormMethod.Post)) { 2 <span>name:</span> 3 @