samesite


随笔分类 -  【译】MVC3 20个秘方系列

摘要:问题随着您网站的成长,无论是普通的还是动态的内容,这两个因素导致网站载入变慢。许多用户造成了大量的web 服务器和数据库的请求。大量的数据需要强大的数据库处理能力来支持它。为了防止花了很多钱,只需添加更多的Web服务器,更聪明的编程,以减少不必要的数据库或动态处理请求,可以明显增加你的web应用的整体速度解决方案使用OutputCacheAttribute去缓存那些不经常改变或只在具体action改变的数据。讨论在MVC3中缓存是非常容易的。简单的添加下边的attribute在一个controller的一个action上。[OutputCache (Duration=600)]这将自动缓存视图 阅读全文
posted @ 2011-12-19 10:37 技术弟弟 阅读(4068) 评论(23) 推荐(26) 编辑
摘要:使用RouteCollectionExtensions 类下的MapRoute 函数去生成更友好的名字去展示URL。 阅读全文
posted @ 2011-12-16 15:25 技术弟弟 阅读(3160) 评论(1) 推荐(13) 编辑
摘要:本节介绍使用JQuery autocomplete 实现自动完成以及使用renderSection 来按需要加载css和javascript文件 阅读全文
posted @ 2011-12-15 13:56 技术弟弟 阅读(2845) 评论(3) 推荐(11) 编辑
摘要:在用ipad 装应用程序的时候,经常在AppStore里精挑细选。觉得他们的翻页做的很不错,按需取数据。 这篇文章是讲解如何使用Asynchronous controllers 配合AJAX 实现卷帘式分页。 阅读全文
posted @ 2011-12-15 10:13 技术弟弟 阅读(2923) 评论(18) 推荐(16) 编辑
摘要:使用JQuery Mobile 让你的网站在移动设备上同样精彩! 阅读全文
posted @ 2011-12-13 17:24 技术弟弟 阅读(3677) 评论(8) 推荐(18) 编辑
摘要:使用CAPTCHA-全自动区分计算机和人类的图灵测试去防止恶意软件自动添加评论。 阅读全文
posted @ 2011-12-07 19:42 技术弟弟 阅读(2770) 评论(6) 推荐(8) 编辑
摘要:使用MVC 的 AjaxHelper 提交表单。 当model 发生改变时,调用我们实现的BookInitializer删除并创建新的数据库。 阅读全文
posted @ 2011-12-05 09:08 技术弟弟 阅读(5026) 评论(13) 推荐(14) 编辑
摘要:MVC 3 提供了3个新的helper类 :HtmlHelper,URLHelper,和AjaxHelper。 这节我们将使用 AjaxHelper 来提高用户体验。 阅读全文
posted @ 2011-12-01 15:05 技术弟弟 阅读(4057) 评论(8) 推荐(10) 编辑
摘要:使用 FileStream, Image, Bitmap,和Graphics 类去生成缩略图。 阅读全文
posted @ 2011-12-01 08:12 技术弟弟 阅读(4490) 评论(42) 推荐(29) 编辑
摘要:通过HttpPostedFileBase.实现上传文件。 阅读全文
posted @ 2011-11-30 22:35 技术弟弟 阅读(3238) 评论(3) 推荐(10) 编辑
摘要:问题当排序和分页和过滤都不够帮用户去找到他们想要的结果时,想一个最好的备选方式是让用户输入(关键字)他们想要什么。解决方案用HtmlHelper创建一个新的From和 文本输入框,并且借助LINQ根据用户输入的关键字在之前过滤过的结果里查找。讨论和前边的秘方很像,添加一个根据keyword 搜索的功能需要更新 Book/Index view 和 BookController。在View里添加一个新的from和textbox 让用户输入keyword。同时也要确保当用户改变排序规则、过滤、分页时,关键字保持。下边的代码是对View的更新:@model PagedList.IPagedList&l 阅读全文
posted @ 2011-11-30 17:57 技术弟弟 阅读(2673) 评论(1) 推荐(6) 编辑
摘要:当排序和分页都不够帮用户去找到他们想要的结果时,另外一种帮助用户找到他们想要的结果的方式是根据特殊的规则过滤。 阅读全文
posted @ 2011-11-30 14:03 技术弟弟 阅读(1981) 评论(4) 推荐(5) 编辑
摘要:我们将使用 PagedList.MVC 为列表结果分页。它是一个通用的分页控件。你可以从NuGet 获得它。 阅读全文
posted @ 2011-11-29 16:31 技术弟弟 阅读(2859) 评论(8) 推荐(8) 编辑
摘要:问题你有一个很庞大的列表(例如,图书列表),你不能很容易找到你想找的东西。以列表中某一列为基础排序,可以帮助你更快的去找到你想要的东西。解决方案在book list的标题上添加一个链接。当用户点击链接的时候,使用Dynamic Linq Library去为结果排序,给予选择的列。(升序或者降序)。再点一次链接的话,就会反转顺序。讨论和以前我用过的框架相比较,我对于在自动生成的View里添加一个排序有点惊讶。希望在未来版本的MVC中,脚手架可以帮我们去做这件事。另一件我需要做的事就是在ASP.NET MVC 的主页上提供一个或更多的选项可以去切换排序。在图书的例子里,只有5个列需要被排序,也不算 阅读全文
posted @ 2011-11-28 17:32 技术弟弟 阅读(2879) 评论(10) 推荐(12) 编辑
摘要:我也是翻译完第六章才思考是否有必要来写出目录的。我一开始也觉得这仅仅是20个知识点。但是知道我真正看完这本书的时候,我才了解到,这是一个从0开始的小项目。从这20个秘方的第1个一直到20个,正好可以完整完成一个MVC的项目。虽然不一个大的项目,但是也包含了很多必要的知识点。麻雀虽小五张俱全。验证,排序,分页,多语言,搜索,上传,ajax,缓存,移动电话访问的站点这些都是主流的功能。这可以引导一个想真正用MVC实践的朋友来完成他的第一个MVC项目。以下是目录:1.1 用密码保护限制对view的访问。1.2 用脚手架(entity framework)生成view 和controller。1.3 阅读全文
posted @ 2011-11-27 23:34 技术弟弟 阅读(1117) 评论(2) 推荐(3) 编辑
摘要:问题你网站的一个用户在你的网站已经注册了,但是他忘记了密码,现在需要一种方式去找回他。解决方案为了允许用户去找回他们的密码,必须在AccountController中添加一个新的action和一个新的view。这个功能将使用MemberShip类去寻找一个匹配的用户,并发送一个包含它密码的邮件到他们相关的邮箱。讨论默认情况下,MVC Internet Applications 使用的是单向 hash为密码加密。这样,密码不可能被找回。在下边的例子。默认的加密方法使用双向加密。这样虽然不是很安全。但是他避免了强迫那些忘记了密码的用户重置密码。作为开始,我们首先要修改web.config中关于me 阅读全文
posted @ 2011-11-27 22:00 技术弟弟 阅读(3354) 评论(5) 推荐(4) 编辑
摘要:场景很多网站要求人们先注册再去访问内容或者发表评论.网站如牛毛,怎么可能让人们记住每个他们注册过的网站。在注册的过程中,可以发送一个电子邮件来提醒用户他们刚刚注册了,这样,他们可能一会还会返回到你的网站。解决方案在用户注册之后使用SmtpClient和MailMessage发送邮件通知。讨论发送一个邮件之前,你需要配置一个SMTP服务器,端口,用户名和密码。为了使配置简单化,我建议你在web.config的appsetting中配置。<appSettings><add key="webpages:Version" value="1.0.0.0&q 阅读全文
posted @ 2011-11-23 20:25 技术弟弟 阅读(3493) 评论(4) 推荐(5) 编辑
摘要:场景互联网是由千百万个人使用。他们来自数百个不同的国家,使用数百种不同的语言。甚至在加拿大、美国和英国之间英语也有许多方言。所以,不在你的网站上仅仅呈现一种语言是重要的。解决方案创建资源文件,并且以键值对的形式添加静态文本,通过CurrentUICulture来提供改变语言的能力。讨论资源文件是基于文本的XML文件,用来支持静态网站多国语言。你创建一个主要的资源文件,包含你的默认语言。为文本创建一些key/value pair。然后,你就可以在你的controller、view、model中的任何地方使用这些文本了。下图是个例子注意圈红的地方要设置为public。如果一个文件的访问修饰符不是p 阅读全文
posted @ 2011-11-23 15:41 技术弟弟 阅读(4737) 评论(8) 推荐(10) 编辑
摘要:场景你要确保你的表单捕获的数据包含你预期的数据,这些数据是基于你的数据库或模型设计。解决方案.NET 4.0 包含了一个新的数据注解命名空间,提供了一些有用的元数据属性类。这些类已经被应用到MVC3。对于验证表单输入,下面的属性类可以用来提供各种各样验证选项:RequiredAttribute,RegularExpressionAttribute,RangeAttribute和DataTypeAttribute。当需要自定义的验证的时候,MVC的3还支持改进ValidationAttribute类,允许开发人员定义的验证。讨论接下来的例子是要去扩展“code-first book“model, 阅读全文
posted @ 2011-11-23 11:15 技术弟弟 阅读(3612) 评论(6) 推荐(8) 编辑
摘要:场景你要通过你的网站管理动态内容解决方案通过使用脚手架自动生成一个controller和多个views 允许用户Create, Read, Update, and Delete(CRUD)数据。通过EntityFramework 的 code-first(代码先行) and database-first (数据库先行)方法。讨论在用脚手架搭建contorller和view之前,一个model和DBContext需要被创建。它将定义model存了什么类型的数据。(这是代码先行的方法)在接下来的例子里。创建的2个类将提供管理一个图书列表的能力。第一个类包含图书数据的定义,将保存在SQL Expre 阅读全文
posted @ 2011-11-22 18:22 技术弟弟 阅读(4551) 评论(8) 推荐(11) 编辑

点击右上角即可分享
微信分享提示