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.Action("首页","Index","Home")%>
这样就可以方便智能感知及调试了,而且代码也比较干净
结
上述的浅见描述了为何出现Helper,希望新学习ASP.NET MVC的朋友有所帮助。
ASP.NET MVC Framework 系列
转载于:https://blog.51cto.com/chsword/144417
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页面.对于没有 ...
最新文章
- 生态伙伴 | Canva上线飞书应用目录,帮你零门槛轻松做出大师级设计!
- 我眼中的Linux设备树(二 节点)
- Vue+ElementUI实现文件的下载与上传
- mysql身份验证失败_SMTP身份验证失败PAM-MySQL无法进行身份验证
- python朴素贝叶斯分类MNIST数据集
- echarts 统计图如何实现打印导出
- toString和valueOf使得对象访问时显示一个特定格式的字符串,但是可以进行数字运算...
- python批量修改文件夹名
- Python自动化测试之PO模式
- Python(高级FTP作业)
- 使用mJS进行物联网嵌入式脚本和开发的新方法
- C语言代码(打印国际象棋棋盘)
- 小朋友学数学(22):三角函数
- arduino教学:红外遥控车
- ARM Linux异常处理之data abort(一)
- Leetcode5238 找出给定方程的正整数解
- python3正则表达式替换_在Python 3中加速数百万的正则表达式替换
- 基于Pytorch的3D卷积
- HTML_超级链接详细讲解
- 三维地图搜索的商业模式在哪儿[转]