`

C# ASP.NET MVC HtmlHelper用法大全

 
阅读更多

原文:http://www.cnblogs.com/fishtreeyu/archive/2011/03/23/1992498.html

 以下列表显示了当前可用的一些 HTML 帮助器。 

 

  • ActionLink - 链接到操作方法。

  • BeginForm * - 标记窗体的开头并链接到呈现该窗体的操作方法。

  • CheckBox * - 呈现复选框。

  • DropDownList * - 呈现下拉列表。

  • Hidden - 在窗体中嵌入未呈现的信息以供用户查看。

  • ListBox * - 呈现列表框。

  • Password - 呈现用于输入密码的文本框。

  • RadioButton * - 呈现单选按钮。

  • TextArea - 呈现文本区域(多行文本框)。

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, Object htmlAttributes )

这2个参数代表这个html标签的属性集合。使用方法如下。

 1.ActionLink

<%=Html.ActionLink("这是一个连接", "Index", "Home")%>
 带有QueryString的写法
 <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page=1 },null)%>
 <%=Html.ActionLink("这是一个连接", "Index", new { page=1 })%>
 有其它Html属性的写法
 <%=Html.ActionLink("这是一个连接", "Index", "Home", new { id="link1" })%>
 <%=Html.ActionLink("这是一个连接", "Index",null, new { id="link1" })%>
 QueryString与Html属性同时存在
 <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page = 1 }, new { id = "link1" })%>
 <%=Html.ActionLink("这是一个连接", "Index" , new { page = 1 }, new { id = "link1" })%>
    
 生成结果为:
 <a href="/">这是一个连接</a>
 带有QueryString的写法
 <a href="/?page=1">这是一个连接</a>
 <a href="/?page=1">这是一个连接</a>
 有其它Html属性的写法
 <a href="/?Length=4" id="link1">这是一个连接</a>
 <a href="/" id="link1">这是一个连接</a>
 QueryString与Html属性同时存在
 <a href="/?page=1" id="link1">这是一个连接</a>
 <a href="/?page=1" id="link1">这是一个连接</a>

 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 2种方法

<%using(Html.BeginForm("index","home",FormMethod.Post)){%>
<%} %>
   
<%Html.BeginForm("index", "home", FormMethod.Post);//注意这里没有=输出%> 
<%Html.EndForm(); %>
   
生成结果:
<form action="/home/index" method="post"></form>

 4.TextBox , Hidden ,

<%=Html.TextBox("input1") %>
 <%=Html.TextBox("input2",Model.CategoryName,new{ @style = "width:300px;" }) %>
 <%=Html.TextBox("input3", ViewData["Name"],new{ @style = "width:300px;" }) %>
 <%=Html.TextBoxFor(a => a.CategoryName, new { @style = "width:300px;" })%>
    
 生成结果:
    
 <input id="input1" name="input1" type="text" value="" />
 <input id="input2" name="input2" style="width:300px;" type="text" value="Beverages" />
 <input id="input3" name="input3" style="width:300px;" type="text" value="" />
 <input id="CategoryName" name="CategoryName" style="width:300px;" type="text" value="Beverages" />

 5.TextArea

<%=Html.TextArea("input5", Model.CategoryName, 3, 9,null)%>
 <%=Html.TextAreaFor(a => a.CategoryName, 3, 3, null)%>
    
 生成结果:
 <textarea cols="9" id="input5" name="input5" rows="3">Beverages</textarea>
 <textarea cols="3" id="CategoryName" name="CategoryName" rows="3">Beverages</textarea>

 6.CheckBox

<%=Html.CheckBox("chk1",true) %>
<%=Html.CheckBox("chk1", new { @class="checkBox"}) %>
<%=Html.CheckBoxFor(a =>a.IsVaild, new { @class = "checkBox" })%>
   
生成结果:
   
<input checked="checked" id="chk1" name="chk1" type="checkbox" value="true" /><input name="chk1" type="hidden" value="false" />
   
<input class="checkBox" id="chk1" name="chk1" type="checkbox" value="true" /><input name="chk1" type="hidden" value="false" />
   
<input checked="checked" class="checkBox" id="IsVaild" name="IsVaild" type="checkbox" value="true" /><input name="IsVaild" type="hidden" value="false" />

7.ListBox

<%=Html.ListBox("lstBox1",(SelectList)ViewData["Categories"])%>
<%=Html.ListBoxFor(a => a.CategoryName, (SelectList)ViewData["Categories"])%>
   
生成结果:
<select id="lstBox1" multiple="multiple" name="lstBox1">
<option value="1">Beverages</option>
<option value="2">Condiments</option>
<option selected="selected" value="3">Confections</option>
<option value="4">Dairy Products</option>
<option value="5">Grains/Cereals</option>
<option value="6">Meat/Poultry</option>
<option value="7">Produce</option>
<option value="8">Seafood</option>
</select>
<select id="CategoryName" multiple="multiple" name="CategoryName">
<option value="1">Beverages</option>
<option value="2">Condiments</option>
<option value="3">Confections</option>
<option value="4">Dairy Products</option>
<option value="5">Grains/Cereals</option>
<option value="6">Meat/Poultry</option>
<option value="7">Produce</option>
<option value="8">Seafood</option>
</select>

 8.DropDownList

 

<%= Html.DropDownList("ddl1", (SelectList)ViewData["Categories"], "--Select One--")%>
 <%=Html.DropDownListFor(a => a.CategoryName, (SelectList)ViewData["Categories"], "--Select One--", new { @class = "dropdownlist" })%>
    
 生成结果:
 <select id="ddl1" name="ddl1">
 <option value="">--Select One--</option>
 <option value="1">Beverages</option>
 <option value="2">Condiments</option>
 <option selected="selected" value="3">Confections</option>
 <option value="4">Dairy Products</option>
 <option value="5">Grains/Cereals</option>
 <option value="6">Meat/Poultry</option>
 <option value="7">Produce</option>
 <option value="8">Seafood</option>
 </select>
 <select class="dropdownlist" id="CategoryName" name="CategoryName">
 <option value="">--Select One--</option>
 <option value="1">Beverages</option>
 <option value="2">Condiments</option>
 <option value="3">Confections</option>
 <option value="4">Dairy Products</option>
 <option value="5">Grains/Cereals</option>
 <option value="6">Meat/Poultry</option>
 <option value="7">Produce</option>
 <option value="8">Seafood</option>
 </select>

 9.Partial 视图模板

 

 

webform里叫自定义控件。功能都是为了复用。但使用上自定义控件真的很难用好。
 
<% Html.RenderPartial("DinnerForm"); %>  看清楚了没有等号的。
分享到:
评论

相关推荐

    Pro ASP.NET MVC 5 epub

    ASP.NET MVC 5 contains a number of advances over previous versions, including the ability to define routes using C# attributes and the ability to override filters. The user experience of building MVC ...

    Pro ASP.NET MVC 5.mobi

    ASP.NET MVC 5 contains a number of advances over previous versions, including the ability to define routes using C# attributes and the ability to override filters. The user experience of building MVC ...

    Pro ASP.NET MVC 5.pdf

    ASP.NET MVC 5 contains a number of advances over previous versions, including the ability to define routes using C# attributes and the ability to override filters. The user experience of building MVC ...

    Masb.Mvc.TableBuilder:极简的 ASP.NET MVC Html Helper,通过创建表格模板来帮助呈现表格数据

    极简的 ASP.NET MVC Html Helper,通过创建表格模板来帮助呈现表格数据。 这里的真正目标不是渲染任何 HTML。 这是程序员的角色。 渲染表格的助手太多了…… PM&gt; Install-Package Masb.Mvc.TableBuilder 一切都是...

    MVC-GoogleMaps:用于在 ASP.NET MVC 页面上使用 JQuery.GoogleMaps 插件的 HtmlHelper

    MVC-GoogleMaps 用于在 ASP.NET MVC 页面上使用 JQuery.GoogleMaps 插件的 HtmlHelper ###What can I do with it 这是 HtmlHelper,用于渲染 GoogleMaps 进行编辑或使用查看。 图书馆提供: HtmlHelper 用于渲染查看...

    ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法

    ASP.NET Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率。但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们的开发效率,减少开发bug的出现。 ...

    FluentHtml:用于 Asp.net MVC 的 Fluent Html Helper

    流利HTML 用于 Asp.net MVC 的 Fluent Html Helper

    asp.net实现的MVC跨数据库多表联合动态条件查询功能示例

    本文实例讲述了asp.net实现的MVC跨数据库多表联合动态条件查询功能。分享给大家供大家参考,具体如下: 一、控制器中方法 [HttpGet] public ActionResult Search() { ViewBag.HeadTitle = 搜索; ViewBag.MetaKey ...

    ASP.NET 3.5 开发大全

    目录 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP ...17.4.6 ASP.NET MVC控件辅助工具(Helper) 17.4.7 ASP.NET MVC表单传值 17.5 小结 第18章 ...

    ASP.NET 3.5 开发大全word课件

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASP.NET 3.5 开发大全1-5

    目录 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP ...17.4.6 ASP.NET MVC控件辅助工具(Helper) 17.4.7 ASP.NET MVC表单传值 17.5 小结 第18章 ...

    ASP.NET 3.5 开发大全11-15

    目录 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP ...17.4.6 ASP.NET MVC控件辅助工具(Helper) 17.4.7 ASP.NET MVC表单传值 17.5 小结 第18章 ...

    ASP.NET3.5从入门到精通

    17.4.6 ASP.NET MVC 控件辅助工具(Helper) 17.4.7 ASP.NET MVC 表单传值 17.5 小结 第 18 章 WCF 开发基础 20 第一篇 窗口与界面编程 18.1 了解WCF 18.1.1 什么是WCF 18.1.2 为什么需要WCF 18.2 WCF 基础 18.2.1 ...

    利用ASP.NET MVC+Bootstrap搭建个人博客之打造清新分页Helper(三)

    0. 没有找到一款中意的分页插件,又不想使用现成的(丑到爆),所以自己动手造一个吧 先看下效果(其实也不咋滴…): 我的小站地址:我的Bootstrap小站; PS:(问博客园:为什么老是删我的置顶随便?上一篇阅读量都...

    Catharsis.NET.Web.Widgets:ASP.NET MVC 库,提供有用的社交媒体小部件以包含在您网站的网页上

    还提供了System.Web.Mvc.HtmlHelper扩展方法,以便于呈现。 支持 该项目需要您的支持才能进一步发展! 请考虑捐赠。 Yandex.Money : 41001577953208 WebMoney (WMR) : R399275865890 安装使用 确保将包含必要 ...

    ASP.NET Core 1.1 For Beginners: How to Build a MVC Website

    ASP.NET Core 1.1 For Beginners: How to Build a MVC Website by Jonas Fagerberg English | 19 May 2017 | ASIN: B071VX7KN4 | 411 Pages | PDF | 6.66 MB Want to learn how to build ASP.NET Core 1.1 MVC Web ...

    asp.net知识库

    在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0中...

    通过扩展HtmlHelper的ASP.NET MVC日历

    您需要一个日历来显示月份或存档数据或其他数据,然后您需要这样做。

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

Global site tag (gtag.js) - Google Analytics