004.ASP.NET MVC中的HTML Helpers

原文链接:http://www.codeproject.com/Articles/794579/ASP-NET-MVC-HTML-Helpers-A-MUST-KNOW

1.什么是HTML Helpers

  想像HTML Helpers的方法返回一个字符串,是的,它返回的字符串是带有HTML标签的字符串。比如一个img标签、一个a标签,等其它的标签。

  有ASP.NET开发经验的人开发人员能使用HTML Helpers用于Web Form服务器控件的编写,因为它们两有一个共同的目标。但是HTML Helpers更加轻量级,因为它没有视图状态和事件模型,单独使用HTML Helpers,我们可以建立自定义的helpers的方法。

2.HTML Helpers的标准

  对于ASP.NET MVC开发人员,理解HTML Helpers是十分可取的。

  标准的HTML Helpers能分类成下面两种:

    a. URL Heplers = HTML Links + Image Links

    b. HTML Form Elements

3.MVC URL Helpers

  在MVC中提供链接是必需的,有两种类型可用:HTML Links和Image Links,我们分别来讨论它们.

  a. HTML Links

  Html.ActionLink() 帮助方法用于在一个视图中返回HTML Link,该方法可以链接到一个控制器的方法到视图中.

1 @Html.ActionLink(“显示的文本”,”actionName”)

  上面的方法是Html.ActionLink的一个重载,可以返回一个<a>标签,链接到控制器的actionName方法

1 <a href=”/ControllerName/actionName”>显示的文本</a>

  b. Image Links

  Url.Action()帮助方法可了返回一个Image链接

1 <a href=”@Url.Action(“ViewDetails”)”><img src=”./logo.jpg” alt=”View Details” /></a>

  注意:尽管Image Link做了同样的事情,链接到一个控制器的ViewDetails方法,但是如果使用Html.ActionLink方法就不能包含一个img标签

4.MVC HTML Form Element

  为了返回HTML中各种元素的标签,MVC为我提供下以下一些HTML帮助方法

@Html.TextBox("strStudentName") renders:

<input id="strStudentName" name="strStudentName" type="text" value="" />

@Html.TextArea("strAcademicBackground", "", 10, 50, null) renders:

<textarea cols="50" id="strAcademicBackground" name="strAcademicBackground" rows="10">

@Html.Password("strPassword") renders:

<input id="strPassword" name="strPassword" type="password" />

@Html.RadioButton("radGender", "Male", true) renders:

<input checked="checked" id="radGender" name="radGender" type="radio" value="Male" />

@Html.CheckBox("chkDuesPaid", true) renders:

<input checked="checked" id="chkDuesPaid" name="chkDuesPaid" type="checkbox" value="true" />
<input name="chkDuesPaid" type="hidden" value="false" />

@Html.DropDownList ("ddlLevel", new SelectList(new [] {"1st Grade", "2nd Grade", "3rd Grade"})) renders:

<select id="ddlLevel" name="ddlLevel">
     <option>1st Grade</option>
     <option>2nd Grade</option>
     <option>3rd Grade</option>
</select>

  这篇文章只能算是一些用法的列举,应当做忘记时来看看的小例子吧。

004.ASP.NET MVC中的HTML Helpers

时间: 2024-08-19 11:13:10

004.ASP.NET MVC中的HTML Helpers的相关文章

在 ASP.NET MVC 中使用 HTML Helpers 的那些事

在 ASP.NET MVC 中使用 HTML Helpers 方法,可以返回得到标准的 HTML 标签,就像 <input>.<button> 或者 <img> 等等. 同样,你也可以创建自己的 HTML Helpers 方法,生成更加复杂的 HTML 内容. 几种不同类型的 HTML Helpers 从以下三种类型去考察 HTML Helpers 的创建和使用 01 在 View 中创建并重复使用 1 @helper ListingItems(string[] ite

在 asp.net mvc中的简单分页算法

//第一步:建立如下分页实体类:namespace MVCPager.Helpers { /// <summary> /// 简单分页算法类 /// </summary> public class Pager { public int RecordCount { get; set; } public int PageIndex { get; set; } public int PageSize { get; set; } public int PageCount { get { r

log4net 使用总结- (2)在ASP.NET MVC 中使用

log4net在ASP.NET MVC中的配置,还有一种配置方式,即不在web.config中,而是单独新建一个log4net.config 在根目录下 第一.引用log4net.dll 第二.在站点根目录下增加log4net.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="

ASP.NET MVC中使用异步控制器

线程池 一直想把项目改写成异步,但是ASP.NETMVC3下写的过于繁琐,.NET 4.5与ASP.NET MVC下代码写起来就比较简单了, MS好像也一直喜欢这样搞,每一个成熟的东西,都要演变好几个版本,才能趋于规范. ASP.NET MVC 中为什么需要使用异步呢,IIS有一个线程池来处理用户的请求,当一个新的请求过来时,将调度池中的线程以处理该请求,然而,但并发量很高的情况下,池中的线程已经不能够满足这么多的请求时候,池中的每一个线程都处于忙的状态则在处理请求时将阻塞处理请求的线程,并且该

ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也没什么大的差别. 在ASP.NET应用程序里使用ASP.NET AJAX访问WebService通常都是通过ScriptMananger引入WebService生成客户端代理的方法,同时也可以使用Microsoft Ajax Library来完成.本文将介绍在ASP.NET MVC中使用ASP.NE

ASP.NET MVC中使用FluentValidation验证实体

1.FluentValidation介绍 FluentValidation是与ASP.NET DataAnnotataion Attribute验证实体不同的数据验证组件,提供了将实体与验证分离开来的验证方式,同时FluentValidation还提供了表达式链式语法. 2.安装FluentValidation FluentValidation地址:http://fluentvalidation.codeplex.com/ 使用Visual Studio的管理NuGet程序包安装FluentVa

ASP.NET MVC 中应用Windows服务以及Webservice服务开发分布式定时器

ASP.NET MVC 中应用Windows服务以及Webservice服务开发分布式定时器一:闲谈一下:1.现在任务跟踪管理系统已经开发快要结束了,抽一点时间来写一下,想一想自己就有成就感啊!!  2.关于任务跟踪管理系统项目中遇到的Windows服务以及Webservice的综合应用的问题. 大家好这是我第二次写博客 ,写的不好请大家多多谅解, 希望大家可以多多指正. 二:我稍微的整理了一下关于这个分布式定时器需求:1.根据任务跟踪管理系统中的数据库的AnswerSheet 表格中找到客户编

Asp.Net MVC中DropDownListFor的用法(转)

2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T  List<T>的第一个,最后一个不就是M吗? @Html.DropDownListFor(model=>model.First().Title, ViewData["Title"] as List<SelectListItem>, "标题", @"dropdown

ASP.NET MVC中使用窗体验证出现上下文的模型在数据库创建后发生更改,导致调试失败

在ASP.NET MVC中使用窗体验证.(首先要明白,验证逻辑是应该加在Model.View和Controller哪一个里面?由于Model的责任就是负责信息访问与商业逻辑验证的,所以我们把验证逻辑加在Model里面.) 第一步:引用下面这个命名空间 第二步:添加验证 第三步:启动调试,出现以下问题: 解决方法: 超链接中包含了解决这个问题的详细介绍,也就是通过Code First数据库迁移的方式让Entity Framework帮助我们自动调整数据库里面的架构. 解决这个问题最简单的方法就是将