本系列文章导航

学习 ASP.NET MVC (第一回)理论篇

学习 ASP.NET MVC (第二回)实战篇

学习 ASP.NET MVC (第三回)实战篇

学习 ASP.NET MVC (第四回)实战篇

学习 ASP.NET MVC (第五回)理论篇

通过前几篇文章,我们通过ASP.NET MVC创建了一个简单的应用程序,学习了ASP.NET MVC的基本框架和工作流程。但是Demo中很多东西都是VS为我们自动生成的,比如View的html代码等。此文和大家一起学习一下ASP.NET MVC 中的Helper (辅助方法) --> HtmlHelperUrlHelper
何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组,主要的目的就是实现将界面与逻辑分离。

HtmlHelper

ASP.NET MVC提供了一个HtmlHelper用于生成Html标签和有数据绑定的Html标签。
1.ActionLink
其中最常用的就是Html.ActionLink。
ActionLink中的三个参数分别为:显示的文字,Action ,Controller 。其中Controller可以省略,省略时指向同一Controller下的Action。
---基本应用:

<%=Html.ActionLink("Hello", "Index", "Home")%>

在UrlRouting规则为默认规则的情况下,它生成的HTML代码为:Hello
---带有QueryString的写法:

<%=Html.ActionLink("Hello", "Index", "Home", new { page=1 },null)%>

-------Hello
如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了。Hello
2.Html表单元素
(1) Form:
我们当然可以使用纯的Html代码:
但是因为是在HTML的属性中,所以还是难以维护,ASP.NET MVC为我们提供了一个Helper,我们可以通过以下两种方式生成一个Form:

<%using(Html.BeginForm("index","home",FormMethod.Post)){%>表单内容  
<%} %>

<%Html.BeginForm("index", "home", FormMethod.Post);%>表单内容  
<%Html.EndForm(); %>

(2) 其他html标签:
ASP.NET MVC提供了多种表单元素的Helper。其中包括:TextBox(类似input type=text)、TextArea、DropDownList(select)、CheckBoxHidden、ListBox、Password、RadionButton。

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

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

(3) 表单元素绑定
如果我们想要让上文中的t1初始时就有一个值:

<%=Html.TextBox("t1","Hello") %>

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

Action:
ViewData["text"]="Hello";
View:
<%=Html.TextBox("t1",ViewData["text"]) %>

UrlHelper

1.UrlHelper.Action
UrlHelper的Action方法 用于生成一个URL地址:
Controller下Index:<%=Url.Action(“Index”)%> --------index
Controller下Index:<%=Url.Action(“Index”,new{id=1})%> --------index?id=1
UsersController下Index:<%=Url.Action(“Index”,"Users")%> --------/Users/index
UsersController下Index: <%=Url.Action(“Index”,"Users",new{id=1})%> /Users/index?id=1
在View中写Url.Action("Index","Home"),运行后则会生成/Home/Index这个地址。

2.UrlHelper.Encode
这也是UrlHelper的一个方法 使用方法 如<%=Url.Encode("中文")%>,功能与Server.UrlEncode相同。

3.UrlHelper.Content
用于服务器路径转换为绝对路径。如:
<%=Url.Content("~/content/site.css") %>最后的结果为:/content/site.css

转载于:https://www.cnblogs.com/waw/archive/2011/08/29/2156993.html

艾伟_转载:学习 ASP.NET MVC (第五回)理论篇相关推荐

  1. 艾伟_转载:ASP.NET MVC数据验证

    关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...

  2. 学习 ASP.NET MVC (第二回)实战篇

    上篇简单的了解了ASP.NET MVC的基本概念和基本流程,接下来的几篇将通过简单的实例,来看看如何通过ASP.NET MVC创建应用程序.Demo很简单也很基础,高手绕过.   闲话少说,直接进入正 ...

  3. 艾伟_转载:ASP.NET模板引擎技术

    以前听我朋友说起php的模板引擎技术的时候似懂非懂哪时感觉真的很强,一直在想asp.net有这种技术吗?我不知道我的理解是不是对的.其实 asp.net的模板引擎技术就是先建好一个静态的html页面我 ...

  4. 艾伟_转载:[一步一步MVC]第五回:让TagBuilder丰富你的HtmlHelper

    本系列文章导航 [一步一步MVC]第一回:使用ActionSelector控制Action的选择 [一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理 [ ...

  5. 学习ASP.NET MVC系列 - 还有比这更简炼的吗?把复杂的事情变简单了,贡献啊!...

    转自 学习ASP.NET MVC系列: 学习ASP.NET MVC(一)--我的第一个ASP.NET MVC应用程序 学习ASP.NET MVC(二)--我的第一个ASP.NET MVC 控制器 学习 ...

  6. 《从零开始学习ASP.NET MVC 1.0》-开天辟地入门篇

    <从零开始学习ASP.NET MVC 1.0> 文章导航 (一) 开天辟地入门篇 (二) 识别URL的Routing组件 (三) Controller/Action 深入解析与应用实例 ( ...

  7. 从零开始学习ASP.NET MVC 入门

    <从零开始学习ASP.NET MVC 1.0> 文章导航 (一) 开天辟地入门篇 (二) 识别URL的Routing组件 (三) Controller/Action 深入解析与应用实例 ( ...

  8. 学习ASP.NET MVC的资料推荐

    学习ASP.NET MVC的资料推荐      1.微软官方ASP.NET MVC QuickStart文档.http://quickstarts.asp.net/previews/mvc/      ...

  9. 一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序 - 强烈推荐!!!

    一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序 本文根据<Professional ASP.NET MVC 1.0>中微软牛人Scott Guthrie 提供 ...

最新文章

  1. Java RandomAccessFile writeLong()方法与示例
  2. 在小范围内[打表]验证哥德巴赫猜想(洛谷P1579题题解,Java语言描述)
  3. Java基础学习总结(146)——开发人员日志实践规范
  4. c 不安装oracle,安装oracle 10g 的艰难之旅
  5. [jQuery] Cannot read property ‘msie’ of undefined错误的解决方法
  6. linux ftp常用操作,linux 操作 ftp 常用命令
  7. Atitit 游戏的原理与概论attilax总结
  8. ECharts折线图自定义横坐标显示或隐藏
  9. 想要画漫画?掌握风格很关键!
  10. 烟台有线电视频率与节目表
  11. IP地址的规划和设计方法(二)
  12. c++ vs2015 播放音乐_索尼NW-A105HN对比飞傲M11,高解析音乐播放器之间有何差距?...
  13. 生物化学 药物设计与研发笔记:变构(Allostery)药物设计
  14. 实现不同的导航条,看直播app开发怎么做
  15. 使用Excel制作一个动态计划表
  16. html5 播放进度,获取并设置HTML5 Video的当前进度
  17. 网约车大战重来:易到回归降佣金,美团入局每单补贴超20元
  18. CRM系统在销售中的应用
  19. 计算机毕业设计springboot小组学习系统
  20. HBase 数量统计

热门文章

  1. SSM实现网上商城 有聊天功能
  2. 统计java文件中的代码行数
  3. xcode 消除警告
  4. 在javascript中判断类型
  5. 流程快速开发平台,工作流引擎中间件,工作质量考核设计
  6. linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
  7. 运动目标检测ViBe算法
  8. Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑)
  9. android zip解压缩(含有子目录)
  10. ASA与PIX的区别