一步步学习ASP.NET MVC3 (13)——HTML辅助方法
请注明转载地址:http://www.cnblogs.com/arhat
今天老魏是在十分郁闷,我的一个U盘丢了,心疼里面的资料啊,全部是老魏辛辛苦苦积攒的Linux资料,太心疼,到现在心情还不是很爽。没办法,丢了也就丢了。希望老魏能够从服务器中找到这些备份的资料吧。
那么开始今天的章节,由于前两天比较忙,老魏更新的慢了,以后慢慢不上来吧!今天我们要说的是ASP.NET MVC 中的HTML辅助方法。HTML辅助方法能够帮助我们能够快速生成视图代码,通过HTML辅助方法可以向像编写C#一样编写HTML文件。
这些辅助方法都位于System.Web.Mvc.Html这个命名空间,大家可以从这个命名空间中查看这些方法。当了,由于这些辅助方法只是用来生成html内容的,所以老魏这里呢就不再详细的介绍,根据下面我举的例子,大家可以依葫芦画瓢看着帮助文档来学习。
而HTML辅助方法是HTMLHelper类的扩展方法,所以本章我们主要来看看这些辅助方法是如何帮助我们快速的开发视图文件。
一、超链接
HTMLHelper的扩展方法提供以下的扩展方法可以生成超链接。
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, RouteValueDictionary routeValues); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes);
这么多重载方法我们并不需要全部的记住,而是在适当的时候使用适当的方法。我们来学习一下常用的方法。
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName);
这个方法是用来跳转到对应的action。
@Html.ActionLink("这是超连接", "Index");
<a href="/">这是超连接</a>
但是需要注意的是的,actionName只能是视图所在的控制下的Action方法。
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues);
这个方法生成的超连接可以传递一下参数。
@Html.ActionLink("这是超连接", "Index", new { id=1,name="department"});
<a href="/Home/Index/1?name=department">这是超连接</a>
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName);
这个方法生成的连接可以跨controller
@Html.ActionLink("这是超连接", "Test","About");
<a href="/About/Test">这是超连接</a>;
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName,object routeValues, object htmlAttributes);
@Html.ActionLink("这是超连接", "Test", "About", new { name="apple"},null);
<a href="/About/Test?name=apple">这是超连接</a>;
我们可以通过最后一个参数来给html元素添加属性。
@Html.ActionLink("这是超连接", "Test", "About", new { name = "apple" }, new { style="text-decoration:none"});
<a href="/About/Test?name=apple" style="text-decoration:none">这是超连接</a>;
这里需要注意的地方是如果要给超链接添加一个class的css属性,那么必须在前面加上@符号,因为class是C#的关键字。
@Html.ActionLink("这是超连接", "Test", "About", new { name = "apple" }, new { style="text-decoration:none",@class="a"});
<a class=”a” href="/About/Test?name=apple" style="text-decoration:none">这是超连接</a>;
表单
当然除了超链接,HTML辅助方法也提供了对表单的支持。如果我们使用辅助方法来生成表单可以通过两种方法,只是风格不同。
通过Html.BeginForm()方法来声明一个表单。又有BeginForm方法的重载比较多,这里就不一一列举了,我们来看一下常用的重载方法。大家可以从System.Web.Mvc.Html.FormExtensions中查看一下重载的方法。
@using (Html.BeginForm())
{
<p>
账号:@Html.TextBox("username")
</p>
<p>
密码:@Html.Password("pwd")
</p>
}
<form action="/" method="post"> <p> 账号:<input id="username" name="username" type="text" value="" /> </p> <p> 密码:<input id="pwd" name="pwd" type="password" /> </p> </form>
那么我们可以看到生成的表单中action的地址为”/”。所以我们可以通过其他的重载函数来生成表单。
@using (Html.BeginForm("Test","Home"))
{
<p>
账号:@Html.TextBox("username")
</p>
<p>
密码:@Html.Password("pwd")
</p>
}
<form action="/Home/Test" method="post"> <p> 账号:<input id="username" name="username" type="text" value="" /> </p> <p> 密码:<input id="pwd" name="pwd" type="password" /> </p> </form>
在上面的例子中,我们使用到了表单元素,那么这些表单元素大家可以从System.Web.Mvc.HtmlInputExtensions中查看,这里老魏就不再做介绍了(因为比较简单)。
一步步学习ASP.NET MVC3 (13)——HTML辅助方法的更多相关文章
- 一步步学习ASP.NET MVC3 章节总结
请注明转载地址:http://www.cnblogs.com/arhat 对于<一步步学习ASP.NET MVC3>系列工15章,那么为了方便大家能够快速的预览,老魏在这里为这个系列提供一 ...
- 一步步学习ASP.NET MVC3 (1)——基础知识
请注明转载地址:http://www.cnblogs.com/arhat 首先在这里我想声明一下,这个ASP.NET MVC3系列是我在授课过程中的一些经验,有什么不对的地方,请大家指出,我们共同的学 ...
- 一步步学习ASP.NET MVC3 (3)——Razor(1)
请注明转载地址:http://www.cnblogs.com/arhat 首先这个<一步步学习ASP.NET MVC3>前段时间有些忙,没有顾得上写文章,昨天呢写了3个和ASP.NET的相 ...
- 一步步学习ASP.NET MVC3 (12)——FileResult
请注明转载地址:http://www.cnblogs.com/arhat 忙了两天,本来老魏昨天就应该写出新的文章,但是由于昨天雨夹雪而且加上昨天晚上加了班,到家都没饭吃了,一看时间都9点了,什么饭店 ...
- 一步步学习ASP.NET MVC3 (2)——入门程序
请注明转载地址:http://www.cnblogs.com/arhat 在上一节中,我们只是简单的介绍了什么是MVC及MVC的运行原理.而本节呢,主要来实现下一ASP.NET MVC3的开发流程,并 ...
- 一步步学习ASP.NET MVC3 (14)——Route路由
请注明转载地址:http://www.cnblogs.com/arhat 由于今天是星期六,所以多写几篇,感觉前几天的忙碌没有及时发布文章,趁着周末老魏尽力的多写几篇文章.因为本系列基本上快结束了,所 ...
- 一步步学习ASP.NET MVC3 (5)——View从Action中获得数据
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们把Razor的模板技术给大家介绍了一下,当然模板中还有其他的知识点,这个以后我们还会继续讲解.本章我们主要讨论 ...
- 一步步学习ASP.NET MVC3 (10)——@Ajax,JavaScriptResult(1)
请注明转载地址:http://www.cnblogs.com/arhat 首先老魏先说一下抱歉,昨天由于在安装CentOS,Mono,Jexus配置Linux环境下的ASP.NET运行环境,花费了不少 ...
- 一步步学习ASP.NET MVC3 (11)——@Ajax,JavaScriptResult(2)
请注明转载地址:http://www.cnblogs.com/arhat 今天在补一章吧,由于明天的事可能比较多,老魏可能顾不上了,所以今天就再加把劲在写一章吧.否则对不起大家了,大家看的比较快,可是 ...
随机推荐
- 汽车OBD2诊断程序开发 (原文转载,思路很清晰!)
1.因TL718已经为你建立了物理层.数据链层和部分应用层的协议,所以只要OBD2标准应用层协议文本,ISO15031-5 或 SAE J1979(这两个协议是相同的内容). 2.TL718诊断 ...
- Android_SeekBar
xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...
- rsync配置
一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...
- sqlserver 变量
变量:分为全局变量和局部变量全部变量:以@@声明,为系统变量,所有实例都能访问,用户只能访问,不能赋值局部变量:生命周期只在一个批处理内有效, 局部变量经常使用的三种用途:1 在循环语句中记录循环的次 ...
- Sql三种分页方法
--分页三种方法--第一种 ROW_NUMBER() OVER( ORDER BY OrgID) AS indexs 大于pagesize*pageindex,少于等于pagesize*(pagein ...
- SSH无密码登陆问题解决
转载 http://my.oschina.net/hunzi/blog/10687 安装好Cygwin后,SSH需要设置为无密码登陆, 首先查看是ssh还是ssh2:ls -l `which ssh` ...
- 全面认识网络诊断命令功能与参数——netsh diagnostic命令
netsh diagnostic是网络诊断命令,主要检测网络连接和服务器连接的状态. 注意:netsh不能在Window2000以下系统中使用.案例1:使用netsh diagnostic命令检 ...
- iOS开发——企业证书(免审核 299$)
(最近准备考试……空闲截图整理成博客)
- C# ACM poj1006
中国剩余定理 public static void acm1006(int a, int b, int c, int d) { * ; * ; * ; * * ; ) * z; ) * y; ) * ...
- EL表达式 入门
为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. JSP EL语言定义 E L(Expression L ...