ASP.NET MVC重点教程一周年版 第七回 UrlHelper

这节讲 一下ASP.NET MVC中的Helper。

何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组。

其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢?

其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来 很多),在扩展包中,也有Castle的NVelocity引擎和Boo,以及ViewSpark的页面。

所以,如果在Aspx中定义方法的话会影响其扩展性和可移植性.而且代码也不太好看.

一、UrlHelper.Action

UrlHelper的Action方法 用于生成一个超级链接,它的使用方法为

当前Controller下Index这个Action <%=Url.Action(“Index”)%> index

当前Controller下Index这个Action <%=Url.Action(“Index”,new{id=1})% > index?id=1

EiceController下Index这个Action <%=Url.Action (“Index”,"Eice")%> /eice/index

EiceController下Index这个Action <%=Url.Action (“Index”,"Eice",new{id=1})%> /eice/index?id=1

例如我在View中写Url.Action("Index","Home"),运行后则会生 成/Home/Index这个地址,如果你的系统中的URL Routing规则总是变化的话这个Helper则是你必备 之选.

二、UrlHelper.Encode

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

三、UrlHelper.Content

用于服务器路径转换为绝对路径。

<%=Url.Content("~/content/site.css") %>

最后的结果为

/content/site.css 

如果你有特殊需要可以用3.0新特性,扩展方法来为UrlHelper来增加新的功能,下一节我们讲如 何使用Helper来显示Html

时间: 2024-07-28 13:13:03

ASP.NET MVC重点教程一周年版 第七回 UrlHelper的相关文章

ASP.NET MVC 重点教程一周年版 第七回 UrlHelper

这节讲 一下ASP.NET MVC中的Helper. 何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组. 其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢? 其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来很多),在扩展包中,也有Castle的NVelocity引擎和Boo,以及ViewSpark的页面. 所以,如果在Aspx中定义方法的话会影响其扩展性和可移植性.而

ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传

母版页(Master) 1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应. 2.其实在ASP.NET MVC中View的aspx与母版页并不像WebForm中那样紧密关联. 例如我想更换一个aspx的母版页,只要在Action中return 时指定所要使用的Master即可: 如图我有2个Master文件,而/Views/Home/Index.aspx则为 这时我们如果想要使用Site2做为Master,只要在Action中retur

ASP.NET MVC重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传

母版页(Master) 1.母版页是与Controller无关的,母版页只是一个View文件,而没有任 何Controller与之相对应. 2.其实在ASP.NET MVC中View的aspx与母版页并不像WebForm中 那样紧密关联. 例如我想更换一个aspx的母版页,只要在Action中return 时指定所要使用 的Master即可: 如图我有2个 Master文件,而/Views/Home/Index.aspx则为 这时我们如果想要使用Site2做为Master,只要在Action中r

ASP.NET MVC重点教程一周年版 第八回 Helper之演化

凡事出现必有原因 就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的. 而Helper则是为了方便View的开发而产生的. 下面我们来解决几个问题,来看看Helper是怎么演化出来的. 起 题目:如何在View中写一个超级连接连接到主页? 这个问题看起来很好回答: <a href="/home/index">首页</a> 承 其实上面这种不能称之为方案的写法其实是最好的,没有调用任何的方法,仅用纯的HTML就解 决了问题. 但是如

ASP.NET MVC重点教程一周年版 第六回 过滤器Filter

在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能 判断登录与否或用 户权限 决策输出缓存 防盗链 防蜘蛛 本地化与国际化设置 实现动态Action Filter是一种声明式编程方式,在Asp.net MVC中它只能限制于Action(或 它的Controller). Filter要继承于ActionFilterAttribute抽象类,并可以覆写void OnActionExecuting(ActionExecutingContext)和 void OnActionE

ASP.NET MVC重点教程一周年版 第三回 Controller与View

这节我们让ASP.NET MVC真正的跑起来 一.新建Controller 首先我们自己新建一 个新的Controller在Controllers上点右键,添加,Controller选项 之后出现一个对话框: 这里我们将 之起名为EiceController 附注一下,这里是个纯广告,无兴趣可略过此行:www.eice.com.cn 为您建立Web2.0社交网站 默认生成的代码如下: //记不记得前面讲过的,所有 Controller都要继承于Controller类 public class E

ASP.NET MVC 重点教程一周年版 第十回 请求Controller

    其实我们通常遇到的请求方式无非get/post,但是有很多Web开发人员仍然对二者分不清.     get即通过URL中的QueryString向服务器端传值的方式,它的数据是可见的,可post则是通过一个postdata包向服务器传值,post方式可以传送更多数据(如上传文件),也更安全(如登录).     本文将演示各种通过客户端页面(即最终生成的页面)向Controller提交请求以及在Controller中接受的方式. 约定     本文所有的示例都将是演示一个登录过程,但并不关

ASP.NET MVC 重点教程一周年版 第六回 过滤器Filter

在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能 判断登录与否或用户权限 决策输出缓存 防盗链 防蜘蛛 本地化与国际化设置  实现动态Action Filter是一种声明式编程方式,在Asp.net MVC中它只能限制于Action(或它的Controller). Filter要继承于ActionFilterAttribute抽象类,并可以覆写void OnActionExecuting(ActionExecutingContext)和 void OnActionEx

ASP.NET MVC 重点教程一周年版 第三回 Controller与View

这节我们让ASP.NET MVC真正的跑起来 一.新建Controller 首先我们自己新建一个新的Controller在Controllers上点右键,添加,Controller选项   之后出现一个对话框:   这里我们将之起名为EiceController 附注一下,这里是个纯广告,无兴趣可略过此行:www.eice.com.cn为您建立Web2.0社交网站 默认生成的代码如下: //记不记得前面讲过的,所有Controller都要继承于Controller类 public class E