ASP.NET MVC 重点教程一周年版 第八回 Helper之演化 【转】
凡事出现必有原因
就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的。
而Helper则是为了方便View的开发而产生的。
下面我们来解决几个问题,来看看Helper是怎么演化出来的。
起
题目:如何在View中写一个超级连接连接到主页?
这个问题看起来很好回答:
<a href="/home/index">首页</a>
承
其实上面这种不能称之为方案的写法其实是最好的,没有调用任何的方法,仅用纯的HTML就解决了问题。
但是如果Route规则改变了那怎么办呢?就像原来的
routes.MapRoute("Default", "{controller}/{action}/{id}",new { controller = "Home", action = "Index", id = "" });
改为了
routes.MapRoute("Default", "{controller}/{action}.htm",new { controller = "Home", action = "Index" });
扩展名变了,如果按上个答案那连接就要改为
<a href="/home/index.htm">首页</a>
如果项目中涉及到此Route规则的引用有很多的话,那么这么批量的改肯定会累死人的,而且还容易出错
那我们应该怎么办呢?
所以我们就要用UrlHelper
<a href="<%=Url.Action("Index","Home")%>">首页</a>
这样在Route规则变化的情况下也会得到正确的地址
转
上面的方法使Url可以应对变化,可是还有一个问题就是href=”<%=%>”这种方式在VS中是很难智能感知和调试的,所以要有一种很好的调试方式于是就产生了最初的HtmlHelper
<%=Html.ActionLink("首页","Index","Home")%>
这样就可以方便智能感知及调试了,而且代码也比较干净
结
上述的浅见描述了为何出现Helper,希望新学习ASP.NET MVC的朋友有所帮助。
转载于:https://www.cnblogs.com/cxd4321/archive/2009/09/12/1565408.html
ASP.NET MVC 重点教程一周年版 第八回 Helper之演化 【转】相关推荐
- ASP.NET MVC 重点教程一周年版 第八回 Helper之演化
凡事出现必有原因 就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的. 而Helper则是为了方便View的开发而产生的. 下面我们来解决几个问题,来看看Helper是 ...
- ASP.NET MVC 重点教程一周年版 第七回 UrlHelper 【转】
这节讲 一下ASP.NET MVC中的Helper. 何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组. 其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方 ...
- ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper 【转】
许多时候我们会遇到如下场景 在写一个编辑数据的页面时,我们通常会写如下代码 1: <input type="text" value='<%=ViewData[" ...
- ASP.NET MVC 重点教程一周年版 第二回 UrlRouting 【转】
一.什么是UrlRouting 你可以使用UrlRouting来配置一些URL的映射,使用户可以按你的规则来访问网站. 使用UrlRouting,一定要规定URL模式,它包括一个位置标识,它将在你请求 ...
- ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper
许多时候我们会遇到如下场景 在写一个编辑数据的页面时,我们通常会写如下代码 1: <input type="text" value='<%=ViewData[" ...
- asp.net 报表页面模板_Stimulsoft ASP.NET MVC报表教程:在设计器中保存报表模板
Stimulsoft Reports.Net最新版下载:https://www.evget.com/product/1071/download 本示例说明如何加载报表模板并在设计器中对其进行编辑. 首 ...
- 【译】ASP.NET MVC 5 教程 - 4:添加模型
原文:[译]ASP.NET MVC 5 教程 - 4:添加模型 在本节中,我们将添加一些管理电影数据库的类,这些类在ASP.NET MVC 应用程序中扮演"Model"的角色. 我 ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第一篇:准备工作
摘要 本文将简要介绍这个文章系列的目的.形式及大体内容.并且完成开始学习这个系列前所必要的准备工作. 前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了 ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇
摘要 本文对ASP.NET MVC的全局运行机理进行一个简要的介绍,以使得朋友们更好的理解后续文章. 前言 在上一篇文章中,我们实现了第一个ASP.NET MVC页面.对于没有 ...
最新文章
- java 调内存_java内存设置
- 你真的了解try{ return }finally{}中的return?
- [Win32::Console]Perl终端版生命游戏
- DLL文件无法删除怎么解决
- 基于SLF4J MDC机制实现日志的链路追踪
- [python 进阶] 第7章 函数装饰器和闭包
- RSA2013系列(1):中国成为热点
- graphics | 基础绘图系统(九)——栅格图、点密度图、等高线(填充)图、三维图...
- repo start master --all 和repo start --all master区别
- php input样式,input能改变css样式吗
- 关于:Google Chrome 官方下载地址
- python获取像素值_从PIL获取像素值列表
- 初中计算机excel考试系统,基于Excel构建计算机考试系统
- R语言使用aggregate函数和median函数计算每个分组数据的中位数
- word怎么删除空白页,Word Mac删除空白页面的图文方法
- 教你如何上传代码到GitHub
- MATLAB--数字图像处理 图像噪声与滤波处理
- 如何修改HBulider X注释字体的颜色
- 数据仓库-你不知道的HSQL?
- 360N4救砖刷机 全程完整操作
热门文章
- php悬浮图片,在JS中如何实现图片居中悬浮效果
- js修改本地json文件_Flutter加载本地JSON文件教程建议收藏
- 二叉树的层序遍历 IIPython解法
- 全分布式集群搭建总结
- Linux命令工作中常用的总结
- 处于计算机学科的基础地位,谈谈离散数学在计算机学科中的地位和作用(原稿)...
- 最近缺货涨价的MCU有这些国产可以替代对标国外!(TOP 60)
- 单片机高手必知的三个重要步骤(干货分享)
- js渲染模板html,一个javascript模板渲染组件,laytpl
- 单片微型计算机 第九章自测题,单片微型计算机网上练习题答案..doc