快速业务通道

ASP.NET MVC重点教程一周年版 第九回 HtmlHelper

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
ew { page = 1  }, new { id = "link1" })%>

就可以这样来写

1: <%=Html.RouteLink("这是一个连接", new { action =  "index", page = 1 }, new { id="link1"})%>

其实就是用一个新建立的RouteValueDictionary的对象(new{}所实例化的对象将会等价转换为 RouteValueDictionary)来替原来的Action,Controller字符串的单独指定。

2.2RouteLink 使用Route规则

除了这些协同的用法,RouteLink还支持使用Route规则名来创建连接

例如我们在Global.asax文件中添加一个Route规则

1: routes.MapRoute (
2:   "about",//这是规则名
3:   "about",//url
4:   new {controller = "Home", action = "about"}
5:   );

那么我们就可以使用这个Route规则

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

来生成如下的HTML:

1: <a href="/about">关于</a>
2: <a  href="/about?page=1">关于</a>
3: <a href="/about? page=1" id="link1">关于</a>

3.表单

很多情 况下是要生成表单元素的,正如文章开始所述,修改一个内容的情况下,我们可能要将数据与表单 绑定。

3.1生成Form

我们当然可以使用纯的Html代码或UrlHelper来生成一个Form。

1: <form action="/home/index"  method="post">
2: </form>

1: <form  action="<%=Url.Action("Index","Home")%>"  method="post">
2: </form>

但是因为是在HTML的属性 中,所以还是难以维护,幸好ASP.NET MVC为我们提供了一个Helper,我们可以通过以下两种方式 生成一个Form:

1: <%using(Html.BeginForm ("index","home",FormMethod.Post)){%>
2: 表单内容
3:  <%} %>
4: <%Html.BeginForm("index", "home",  FormMethod.Post);//注意这里没有=输出%>
5: 表单内容
6: <% Html.EndForm(); %>

BeginForm方法类似于ActionLink的调用方式,所以 ASP.NET MVC还提供了BeginRouteForm这种方法。

当然这里我们也可以使用new{}来为form 的action增加querystring或HTML属性,方法与前面介绍的大同小异,参见方法列表即可。

3.2表单元素

ASP.NET MVC提供了多种表单元素的Helper。

其中包括: TextBox(类似input type=text,下面类似)、TextArea、DropDownList(select)、 CheckBoxHidden、ListBox、Password、RadionButton。

注意:因为<input type=”submit” />一般情况下是不会绑定数据的所以ASP.NET MVC并未提供此 Helper(曾经提供过在preview2之前)。

如果我们想提供一个input type=text 它的name 为t1则以下代码:

1: <%=Html.TextBox("t1") % >

3.3表单元素绑定

如果我们想要让上文中的t1初始时就有一个值,比如 “重典”那么我们可以按以下方式

1: <%=Html.TextBox ("t1","重典") %>

如果数据是从数据库中读取,即得到 数据是从Action中获取的,那么我们可以在Action中使用ViewData传递

Action:

1: ViewData["name"]=

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号