番茄的梦想

那一抹夕阳

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

2009年9月12日

摘要: 母版页(Master)1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应。2.其实在ASP.NET MVC中View的aspx与母版页并不像WebForm中那样紧密关联。例如我想更换一个aspx的母版页,只要在Action中return 时指定所要使用的Master即可: 如图我有2个Master文件,而/Views/Home/Index... 阅读全文
posted @ 2009-09-12 17:22 番茄的梦想 阅读(313) 评论(0) 推荐(0) 编辑

摘要: 其实我们通常遇到的请求方式无非get/post,但是有很多Web开发人员仍然对二者分不清。 get即通过URL中的QueryString向服务器端传值的方式,它的数据是可见的,可post则是通过一个postdata包向服务器传值,post方式可以传送更多数据(如上传文件),也更安全(如登录)。 本文将演示各种通过客户端页面(即最终生成的页面)向Controller提交请求以及在Controlle... 阅读全文
posted @ 2009-09-12 17:21 番茄的梦想 阅读(188) 评论(0) 推荐(0) 编辑

摘要: 许多时候我们会遇到如下场景在写一个编辑数据的页面时,我们通常会写如下代码 1: <input type="text" value='<%=ViewData["title"] %>' name="title" />由前篇我们所讲的Helper演化,我们思考,对于这种代码我们是不是也可以用一个Helper来自动绑定数据呢这当然是可以的,ASP.NET MVC提供了一个HtmlH... 阅读全文
posted @ 2009-09-12 17:17 番茄的梦想 阅读(165) 评论(0) 推荐(0) 编辑

摘要: 凡事出现必有原因就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的。而Helper则是为了方便View的开发而产生的。下面我们来解决几个问题,来看看Helper是怎么演化出来的。起题目:如何在View中写一个超级连接连接到主页?这个问题看起来很好回答:<a href="/home/index">首页</a>承其实上面这种不能称之为方案的写法其... 阅读全文
posted @ 2009-09-12 17:15 番茄的梦想 阅读(145) 评论(0) 推荐(0) 编辑

摘要: 频繁的与美工交接,频繁的通过FTP、远程连接上传文件,哪怕是改一个字节都要传一次服务器。日常开发中有太多的很烦很烦的界面修改,于是我之前做了ASP.NET MVC View Management,用于管理服务器上ASP.NET MVC中View文件的小改动,不过后来又感觉到有些配置文件有时也要修改,于是将其扩展至上一层,使之能管理更多的文件。在这个项目中,我没有考虑过多的安全问题与文件是否可编辑的... 阅读全文
posted @ 2009-09-12 17:14 番茄的梦想 阅读(169) 评论(0) 推荐(0) 编辑

摘要: 之前看过老赵这两篇文章。也研究了一下老赵异步的实现方式。不过感觉自己扩展的话,在ASP.NET MVC中使用异步还真是麻烦,刚好看到从RC1版开始 ASP.NET MVC Futures中提供了几个支持异步的类。相关的类包括AsyncActionDescriptor、AsyncController、AsyncControllerActionInvoker、AsyncManager、AsyncRes... 阅读全文
posted @ 2009-09-12 17:12 番茄的梦想 阅读(204) 评论(0) 推荐(0) 编辑

摘要: 这节讲 一下ASP.NET MVC中的Helper。何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组。其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢?其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来很多),在扩展包中,也有Castle的NVelocity引擎和Boo,... 阅读全文
posted @ 2009-09-12 17:09 番茄的梦想 阅读(165) 评论(0) 推荐(0) 编辑

摘要: 在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能判断登录与否或用户权限决策输出缓存防盗链防蜘蛛本地化与国际化设置实现动态Action Filter是一种声明式编程方式,在Asp.net MVC中它只能限制于Action(或它的Controller)。 Filter要继承于ActionFilterAttribute抽象类,并可以覆写void OnActionExecuti... 阅读全文
posted @ 2009-09-12 17:08 番茄的梦想 阅读(222) 评论(0) 推荐(0) 编辑

摘要: 我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件。而它的返回类型是ActionResult如 public ActionResult Index() { return View(); }除了View()之外那我们这里还能用于返回什么值呢?一、ascx页面场景:要返回代码片断,比如Ajax返回一个子页我们先新建一个Action public ... 阅读全文
posted @ 2009-09-12 17:06 番茄的梦想 阅读(210) 评论(0) 推荐(0) 编辑

摘要: 一、ViewData与TempData属性来向View页传递对象上文中已经提到,使用ViewData可以将数据由Controller传递到View 在前文中我们建立了EiceController类 在本文的示例中我们将这个Controller改一下 public class EiceController : Controller { public ActionResult Index() { Vi... 阅读全文
posted @ 2009-09-12 16:59 番茄的梦想 阅读(190) 评论(0) 推荐(0) 编辑

摘要: 这节我们让ASP.NET MVC真正的跑起来一、新建Controller首先我们自己新建一个新的Controller在Controllers上点右键,添加,Controller选项 之后出现一个对话框: 这里我们将之起名为EiceController 附注一下,这里是个纯广告,无兴趣可略过此行:http://www.cnblogs.com/chsword/admin/www.eice.com.cn... 阅读全文
posted @ 2009-09-12 16:52 番茄的梦想 阅读(198) 评论(0) 推荐(0) 编辑

摘要: 一、什么是UrlRouting 你可以使用UrlRouting来配置一些URL的映射,使用户可以按你的规则来访问网站. 使用UrlRouting,一定要规定URL模式,它包括一个位置标识,它将在你请求网页时按这个规则返回给你内容. 当然,这个创建的规则完全是由你自己定义的. 上回说道如何访问index.aspx及about.aspx:但是http://localhost/Views/Home/In... 阅读全文
posted @ 2009-09-12 16:47 番茄的梦想 阅读(207) 评论(0) 推荐(0) 编辑

摘要: 从前写过一系列的ASP.NET MVC教程,ASP.NET MVC在这之后历经5个preview版本终于到今天的RC版本,而且不久就要正式推出正式版本,所以值此之际,重典也重新修正这一系列的教程,使之与时俱进。因为最初的一篇是写自2008年3月10日(Asp.net Mvc Framework 系列),回头看看已经足足一年了,所以本系列修正版本的教程就叫做ASP.NET MVC重典教程一周年版。现... 阅读全文
posted @ 2009-09-12 16:46 番茄的梦想 阅读(220) 评论(0) 推荐(0) 编辑

摘要: 本系列文章基于ASP.NET MVC beta.本示例Blog系统同步更新的演示站点:http://4mvcblog.qsh.in/在ASP.NET MVC beta发布之前,M$就宣布支持开源的JS框架jQuery,然后ASP.NET MVC beta发布后,你建立一个ASP.NET MVC beta的项目后,你可以在项目的scripts目录下找到ASP.NET AJAX和jQuery的JS。反... 阅读全文
posted @ 2009-09-12 16:35 番茄的梦想 阅读(249) 评论(0) 推荐(0) 编辑

摘要: 本系列文章基于ASP.NET MVC Preview5. 前一篇中我们已经了解了Action Filter 与 内置的Filter实现,现在我们就来写一个实例。就写一个防盗链的Filter吧。首先继承自FilterAttribute类同时实现IActionFilter接口,代码如下:[代码]然后我们建立一个用于处理文件请求的Controller,并应用上我们刚才建立的Filter:[代码]简单测试... 阅读全文
posted @ 2009-09-12 16:33 番茄的梦想 阅读(208) 评论(0) 推荐(0) 编辑

摘要: 本系列文章基于ASP.NET MVC Preview5. 有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你创建action过滤器。Action过滤器是自定义的Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器类中的Action方法中。 一些可能用到Action过滤器的地方有: 日志,异常处... 阅读全文
posted @ 2009-09-12 16:32 番茄的梦想 阅读(222) 评论(0) 推荐(0) 编辑

摘要: ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合。在进行数据验证的时候这个属性是比较有用的。在使用Html.ValidationMessage()的时候,就是从ViewData.ModelState中检测是否有指定的KEY,如果存在,就提示错误信息。例如在前一篇文章ASP.NET MVC 入门7、Hellp... 阅读全文
posted @ 2009-09-12 16:31 番茄的梦想 阅读(520) 评论(0) 推荐(0) 编辑

摘要: 本系列文章基于ASP.NET MVC Preview5.ASP.NET MVC提供了很多Hellper的方法,Hellper就是一些生成HTML代码的方法,方便我们书写HTML代码(有一部分的朋友更喜欢直接写HTML代码)。我们也可以利用.NET 3.5的扩展方法来书写我们自己的Hellper。例如:[代码]生成的HTML代码就是:<a href="/Home/Index">首页<... 阅读全文
posted @ 2009-09-12 16:29 番茄的梦想 阅读(219) 评论(0) 推荐(0) 编辑

摘要: 本系列文章基于ASP.NET MVC Preview5.ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session... 阅读全文
posted @ 2009-09-12 16:28 番茄的梦想 阅读(166) 评论(0) 推荐(0) 编辑

摘要: 本系列文章基于ASP.NET MVC Preview5.view在MVC模式中与用户进行最直接的接触,它负责数据的呈现。这里要注意一点就是,view只是负责数据的呈现,所以我们应该要尽量让view中不涉及业务逻辑的处理。我们来添加一个Blog首页的view。在安装了ASP.NET MVC后,我们在添加新项目的时候可以看到有MVC的view模板:注:如果你的是中文版的VS,安装完后可能会出现找不到这... 阅读全文
posted @ 2009-09-12 16:27 番茄的梦想 阅读(209) 评论(0) 推荐(0) 编辑