随笔分类 -  03 MVC

摘要:ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session来存储临时数据的,TempData中存放的数据只一次访问中有效,一次访问完后就会删除了的。这个一次访问指的是一个请求到下一个请求,因为在下一个请求到来之后,会从Session中取出保存在里面的TempData数据并赋值给TempData,然后将数据从Session中删除。我们看一 阅读全文

posted @ 2012-12-12 17:38 LoveSong 阅读(251) 评论(0) 推荐(0)

摘要:Ajax是Asynchronous JavaScript and XML的缩写,正如我们看到的,XML部分已经不再像过去那样重要,但是异步的部分却让Ajax非常有用。它是一种在后台从服务端请求数据的模型,而不用重新加载网页。使用MVC无入侵的Ajax(Using MVC Unobtrusive Ajax)MVC框架包含了对无入侵的Ajax的支持,而且是基于jQuery库的。下面创建示例项目UnobtrusiveAjax,如下:View Code //modelusing System.ComponentModel.DataAnnotations;namespace UnobtrusiveAja 阅读全文

posted @ 2012-12-11 14:23 LoveSong 阅读(254) 评论(0) 推荐(0)

摘要:Html.RenderPartial与Html.RenderActionp 这个两个方法都是用于把MVC用户控件嵌入到View中。Html.RenderPartial是直接将MVC用户控件嵌入到界面上<%Html.RenderPartial("SupplierList ");%> 注意: MVC用户控件必须放在调用者同一目录下,也可以放在View/Shared中。<%Html.RenderPartial("~/Views/ Supplier/SupplierList.ascx");%> 指明MVC用户控件所放的具体目录。Html. 阅读全文

posted @ 2012-12-11 11:27 LoveSong 阅读(183) 评论(0) 推荐(0)

摘要:选择Get还是Post: Get通常用于读操作。Get请求的参数都在Url中,因此可以为Get请求创建书签,可以保留表单输入值,可作为超链接使用。Get应该是只读操作,不应该改变服务器的状态。Post通常用于写操作。Post可以用来提交修改,密码等。Post请求通常用于改变服务器状态的请求。重复提交Post请求可能会产生不良后果,比如购物时产生两个订单,这点许多浏览器都会提示用户。辅助方法:Html属性调用Html辅助方法(扩展HtmlHelper)Url属性调用Url辅助方法(扩展UrlHelper)Ajax属性调用Ajax辅助方法(扩展AjaxHelper) 框架中定义的辅助方法大多都是扩 阅读全文

posted @ 2012-12-07 14:48 LoveSong 阅读(591) 评论(0) 推荐(0)

摘要:当调用ModelState.AddModelError方法时:·调用Controller的ModelState属性·调用Controller的ModelState属性就是调用Controller的ViewData属性的ModelState·其实调用的就是ViewDataDictionary类的ModelState属性·当添加错误信息时,就是调用ModelState属性的AddModelError方法,其中ModelState属性是ModelStateDictionary类型·当添加错误信息时,就是向ModelState类实例中Errors属性中 阅读全文

posted @ 2012-12-07 14:02 LoveSong 阅读(16349) 评论(1) 推荐(4)

摘要:MVC基础系列导航 mvc基础系列说谈(1)——routemvc基础系列说谈(2)——modelmvc基础系列说谈(3)——controller与actionmvc基础系列说谈(4)——HtmlHelper,自定义,扩展HtmlHelpermvc基础系列说谈(5)——参数与值传递,提交数据mvc基础系列说谈(6)——数据验证(上)mvc基础系列说谈(7)——数据验证(下)mvc基础系列说谈(8)——修饰标签(修饰属性,过滤器)(上)mvc基础系列说谈(9)——修饰标签(修饰属性,过滤器)(中)mvc基础系列说谈(10)——修饰标签(修饰属性,过滤器)(下) 博客园大道至简http://www. 阅读全文

posted @ 2012-12-07 12:14 LoveSong 阅读(204) 评论(0) 推荐(0)

摘要:在上一篇中,介绍了AcceptVerbs,ActionName,NonAction,OutputCache,ValidateInput,HandleError这几个修饰标签。它们的父类有所不同。例如:AcceptVerbs 标签(类)从ActionMethodSelectorAttribute类派生;NonAction从ActionMethodSelectorAttribute派生。然后,如HandleError它的定义是这样的:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHigh 阅读全文

posted @ 2012-12-07 12:11 LoveSong 阅读(227) 评论(0) 推荐(0)

摘要:(1)先引用百度知道中的几段话:GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。……IIS启用gzip现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压 阅读全文

posted @ 2012-12-07 12:11 LoveSong 阅读(219) 评论(0) 推荐(0)

摘要:MVC中的修饰标签有很多用途。它以修饰标签形式应用在控制器或控制器中的动作上。最先想到的就是AcceptVerbs标签,在创建的时候,如果导航到创建视图,但不创建,则:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicActionResultCreate(){returnView();}这个动作返回视图,当Get方法向控制器请求时,会调用这个动作;然后,当以Post方法来向控制器请求时,会执行:Code highlighting p 阅读全文

posted @ 2012-12-07 11:55 LoveSong 阅读(249) 评论(0) 推荐(0)

摘要:《从零开始学习ASP.NET MVC 1.0》 文章导航(一) 开天辟地入门篇(二) 识别URL的Routing组件(三) Controller/Action 深入解析与应用实例(四) View/Model 全解(五) ViewEngine 深入解析与应用实例一.摘要本篇文章从基础到深入的介绍ASP.NET MVC中的Routing组件. Routing翻译过来是"路由选择", 负责ASP.NET MVC的第一个工作:识别URL, 将一个Url请求"路由"给Controller.二.承上启下第一篇文章中我们已经学会了如何使用ASP.NET MVC, 虽然 阅读全文

posted @ 2012-12-07 11:50 LoveSong 阅读(178) 评论(0) 推荐(0)

摘要:《从零开始学习ASP.NET MVC 1.0》 文章导航(一) 开天辟地入门篇(二) 识别URL的Routing组件(三) Controller/Action 深入解析与应用实例(四) View/Model 全解(五) ViewEngine 深入解析与应用实例一.摘要一个Url请求经过了Routing处理后会调用Controller的Action方法. 中间的过程是怎样的? Action方法中返回ActionResult对象后,如何到达View的? 本文将讲解Controller的基本用法, 深入分析Controller的运行机制, 并且提供了创建所有类型Action的代码. 值得学习ASP. 阅读全文

posted @ 2012-12-07 11:48 LoveSong 阅读(195) 评论(0) 推荐(0)

摘要:《从零开始学习ASP.NET MVC 1.0》 文章导航(一) 开天辟地入门篇(二) 识别URL的Routing组件(三) Controller/Action 深入解析与应用实例(四) View/Model 全解(五) ViewEngine 深入解析与应用实例一.摘要本文讲解在Action中向View传递Model的几种方式.以及View获取Model以后如何编写显示逻辑.还详细的介绍了ASP.NET MVC框架提供的Html Helper类的使用及如何为Html Helper类添加自定义扩展方法.二.承上启下上一篇文章中我们学习了Controller处理一次请求的全过程.在Controlle 阅读全文

posted @ 2012-12-07 11:44 LoveSong 阅读(175) 评论(0) 推荐(0)

摘要:问题今天很多网站与数据库交互。如果您的网站接收大量的流量,SQL查询来检索数据,是相当激烈的。更重要的是因为普通用户点击一个在15秒内到达您的网站的链接, 检索和生成内容的工作可能是不必要的,尤其是当内容是“地域折叠”(不滚动是不可见的)。为了帮助解决这个问题,内容将被“按需”载入。足够的内容将被载入,使页面感觉起来是随用户向下滚动阅读递增的,更多的内容将在不影响用户体验的场景下填充。解决方案使用异步controller与jQuery按需加载内容,当用户开始通过网站的内容滚动时进一步加载内容。讨论异步controller可能在许多MVC应用中未充分利用。最有可能的是因为人们不知道他们,更重要的 阅读全文

posted @ 2012-12-05 12:06 LoveSong 阅读(201) 评论(0) 推荐(0)

摘要:问题你有一个很庞大的列表(例如,图书列表),你不能很容易找到你想找的东西。以列表中某一列为基础排序,可以帮助你更快的去找到你想要的东西。解决方案在book list的标题上添加一个链接。当用户点击链接的时候,使用Dynamic Linq Library去为结果排序,给予选择的列。(升序或者降序)。再点一次链接的话,就会反转顺序。讨论和以前我用过的框架相比较,我对于在自动生成的View里添加一个排序有点惊讶。希望在未来版本的MVC中,脚手架可以帮我们去做这件事。另一件我需要做的事就是在ASP.NET MVC 的主页上提供一个或更多的选项可以去切换排序。在图书的例子里,只有5个列需要被排序,也不算 阅读全文

posted @ 2012-12-05 11:53 LoveSong 阅读(142) 评论(0) 推荐(0)

摘要:天才的作品是用眼泪浇灌的。题目每一个成功者都有一个开端。勇于开端,才干找到成功的路。当你点击链接时,全部的网页都被从头加载。尤其是你仅仅一小点内容须要被更新时,这将被感触感染是一个很慢的过程。解决规划更新之前创建的HTML.ActionLink 去调用ajax 帮助类。Ajax.ActionLink 仅仅去从头加载那些产生变更的内容。评论辩论MVC供给了几个给力的帮助类。到今朝为止,这本书中已经广泛的应用了HTML Helper。在畴昔创建的所有view中,HTML helper至少都应用过一次。在这个秘方中,我们将应用AjaxHelper类调换掉Book/Index中的HtmlHelper 阅读全文

posted @ 2012-12-05 11:32 LoveSong 阅读(164) 评论(0) 推荐(0)

摘要:[原文发表地址] Announcing Entity Framework Code-First (CTP5 release)[原文发表时间] December 08, 2010 1:39 AM本周数据组发布了新实体框架代码优先(EF Code-First)库的CTP5版本。 EF Code-First提供了一个很好的以代码为中心的开发工作流程来处理数据。它使你能:开发不需要打开设计器或定义XML映射文件;只需编写 “普通传统类”来定义模型对象而无需定义基类;使用“配置约定”方式保持与数据库的持久化映射,无需任何显式配置;选择性地覆盖常规映射,用流畅(Fluent)代码API完全定制持久化映射。 阅读全文

posted @ 2012-12-04 15:24 LoveSong 阅读(487) 评论(0) 推荐(0)

摘要:在MVC中进行留言,评论等功能时,不可避免会用到表单提交时的验证码问题,有时,我们的作法是,当表单被提交后,在controller里去判断验证码的正确与否,但我认为这种用户体验是很差的,今天正好有后时间,把这方法的东西总结一下:首先,在公用项目中建立一个生成图片验证码的类型ValidateCode,代码如下: 1 /// <summary> 2 /// 生成验证码对象 3 /// </summary> 4 public class ValidateCode 5 { 6 public ValidateCode() 7 { 8 } 9 ... 阅读全文

posted @ 2012-12-03 16:44 LoveSong 阅读(158) 评论(0) 推荐(0)

摘要:I:URL友好化的优势在过去,我们开发ASP.NET应用程序的时候常常会使用URL的QueryString去传递参数给ASP.NET处理.如:http://localhost:1029/Default.aspx?key_1=value_1&key_2=value_2&key_3=value_3在使用此类URL格式去做门户网站时,非常不利于让搜索引擎收录页面.另外还包含.aspx结尾还会令搜索引擎爬虫烛觉得这个页面是动态页从而放弃收录或降低页面在搜索结果中的排名.面对这个问题,我们为了讨好搜索引擎爬虫首先必须要做的是:A:使QueryString彻底消失,让爬虫认为这是一个独立页 阅读全文

posted @ 2012-11-30 09:34 LoveSong 阅读(178) 评论(0) 推荐(0)

摘要:I:控制器和视图的基础概念1.控制器的概念控制器在ASP.NET MVC3当中是最终处理客户端请求的一个实现,他有个一硬性条件就是必须实现System.Web.Mvc.IController接口,而且类的命名必须要以Controller结尾,尽管按照硬性条件上来说,要自己实现一个接口比较纠结,但幸好的是在ASP.NET MVC3内部已经包含了一个默认的实现,我们只需要把类的命名设置为Controller结尾然后继承System.Web.Mvc.Controller类,立刻就可以轻松地实现了IController接口了.如果你不喜欢这种默认提供的实现方式,而是自己去实现IController的话 阅读全文

posted @ 2012-11-30 09:24 LoveSong 阅读(369) 评论(0) 推荐(0)

导航