随笔分类 -  ASP.NET MVC

1 2 下一页

C#访问Java的WebService添加SOAPHeader验证的问题
摘要:这两天做与公司OA的接口,发现C#访问Java的WebService需要提供一个SOAP的头验证信息,但是WebService的WSDL中并没有提供约定的验证信息,所以Visual Studio生成的代理类并没有发现这些内容,所以这个SOAPHeader就必须要自己组织,还遇到一个问题就是SOAP头... 阅读全文

posted @ 2014-11-12 20:34 O2DS 阅读(14560) 评论(13) 推荐(4) 编辑

[翻译]《ASP.NET MVC 3 高级编程》第八章:AJAX(Professional ASP.NET MVC 3 --- Chapter 8: AJAX)
摘要:忙不是理由,好久没更新,懒惰了不少。感谢各位(@春華秋實、@三桂)督促我更新排版结构,O2DS敬上。索引 jQuery jQuery特点 不唐突JavaScript 使用jQuery AJAX助手 AJAX ActionLinks HTML5属性 AJAX表单 客户端验证自定义验证 独立助手jQuery UI JSON和jQuery模板 改善AJAX性能使用内容分发网络(CDN) 脚本优化 小结关注焦点所有你想知道的jQuery AJAX Helper 深入了解客户端验证 使用jQuery插件 现在很少见有Web应用不... 阅读全文

posted @ 2012-06-27 10:24 O2DS 阅读(3744) 评论(12) 推荐(3) 编辑

[翻译]《ASP.NET MVC 3 高级编程》第九章:路由(Professional ASP.NET MVC 3 --- Chapter 9: Routing)
摘要:【好吧,终于要承认其实我很懒...过了许久,没有控制器,也没有视图,是Routing,在很久以前ASP.NET MVC1的时候,路由是很唬人的东西,发展到现在到算是返璞归真,技术路线也变的清晰明了,即使已经使用熟练的朋友也不妨看看,里面有很多有趣的内容。还有由于本章没有大篇幅的代码...所以就原谅我没有对代码排版吧~】本章焦点所有关于URL的事情Routings 101窥视路由的内部原理关于路由的高级用法路由的可扩展性和魔力怎么在Web窗体中使用路由当涉及到源代码的时候,就会有些对代码风格过于痴恋的开发人员对一些例如代码缩进风格或是大括号的位置进行激烈争执,甚至大打出手。所有在使用ASP.NE 阅读全文

posted @ 2012-02-17 23:49 O2DS 阅读(3870) 评论(9) 推荐(4) 编辑

[翻译]《ASP.NET MVC 3 高级编程》第四章:模型(Professional ASP.NET MVC 3 --- Chapter 4: Models)
摘要:【博主注:其实我并不是什么翻译作者,甚至现在连技术人员都算不上,只是喜欢技术,然后想分享一些自己看过的不错的内容,如果侵害了某些人的利益,请提出;如果需要转载,请注明出处;如果有错误,欢迎指出,欢迎交流。】关注焦点模型化音乐商店基架是什么意思怎么编辑专辑关于构建模型的所有事情在软件开发中“模型”这个词有数百个不同的含义。可以是成熟度模型、设计模型、测试模型或者是进度模型。罕有某次会议我们没有讨论关于某种模型或者其他模型相关的内容。你也许还记得在第3章讨论过的内容,在MVC设计模式的背景下,你依然可以讨论面向业务的模型,这也同样是针对视图的具体模型对象。这章节会讲关于发送信息到数据库的对象模型, 阅读全文

posted @ 2012-02-04 15:38 O2DS 阅读(4894) 评论(17) 推荐(3) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(二十)[20 Recipes for Programming MVC 3]:缓存结果数据加速页面载入
摘要:议题随着网站的发展,大量用户访问流行内容和动态内容,这两个方面的因素会增加平均的载入时间,给Web服务器和数据库服务器造成大量的请求压力。而大量的数据请求就需要强大的数据库处理能力来支撑。改进更加只能的程序,以极少不必要的数据库访问或动态处理请求,可以节省添加更多服务器的费用以及显著提高Web应用程序的整体速度。解决方案实现OutputCacheAttribute类,缓存不经常改变的数据或者相对固定的动作。讨论在MVC3中实现缓存是非常容易的事情。将下面的属性添加在某个控制器的动作上即可完成:[OutputCache (Duration=600)]这个语句将自动缓存该视图600秒(或10分钟) 阅读全文

posted @ 2012-01-07 15:46 O2DS 阅读(3644) 评论(1) 推荐(3) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十九)[20 Recipes for Programming MVC 3]:路由用户至特定的Controller或Action
摘要:议题在今天投巨资转战各个搜索引擎霸主地位的战役中,像下面这个网站地址,想赢得比赛是相当困难的:http://www.example.com/books/details?id=4使用Routes转换之后,地址看起来是这样的:http://www.example.com/20-recipes-for-mvc3这个URL地址,为用户和搜索引擎提供了更多的内容。解决方案使用RouteCollectionExtensions类的MapRoute功能来生成更友好的名称来显示内容,而不是使用数字标识。讨论路由信息可以在Web.config或Global.asax.cs中设置。在Web.config文件中添加 阅读全文

posted @ 2012-01-05 18:23 O2DS 阅读(2528) 评论(2) 推荐(1) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十八)[20 Recipes for Programming MVC 3]:自动完成搜索
摘要:议题当你在搜索某个具体事情的时候,可能输入会比较复杂(或需要很长时间),正当用户在试图输入正确的内容时,搜索并显示可能是用户输入的内容,让用户查找输入和搜索变的更加容易。解决方案使用JQuery自动完成插件,修改图书列表页面上的搜索功能,使用户在输入搜索时,立即显示搜索结果。讨论自动完成插件默认不包含在MVC项目的JQuery基本包中,所以,要做的第一件事是访问http://jquery.com去下载插件。这个插件包含两个必需文件,一个Javascript文件和一个CSS文件。将新下载的文件放置到“Scripts”文件夹中。将CSS文件放置到“Content”文件夹中。这个秘诀也会介绍关于视图 阅读全文

posted @ 2012-01-05 09:18 O2DS 阅读(2511) 评论(0) 推荐(1) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十七)[20 Recipes for Programming MVC 3]:卷帘式分页加载
摘要:议题现在很多网站都与数据库进行交互。如果网站流量很大,使用SQL来检索数据会带来非常大的压力。更重要的是,用户希望在点击链接之后15秒内得到响应的内容,而在页面加载的时,显示之外滚动条下面的内容可能多数内容都是不必要的(滚动条之外没显示的部分)。为了解决这个问题,采取内容“需求点播”方式加载。页面首先会加载足够的内容,当用户在阅读并向下滚动的时候,页面会在不影响用户阅读体验的情况下继续加载更多的内容。解决方案当用户开始滚动网站内容时,使用JQuery将前期加载的内容具体数值传回异步控制器,然后按需加载相关的内容。讨论异步控制器可能是MVC程序集中迄今为止被利用最少的或最不为人所知的控制器,当然 阅读全文

posted @ 2011-12-26 10:23 O2DS 阅读(3249) 评论(3) 推荐(3) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十六)[20 Recipes for Programming MVC 3]:站点移动化
摘要:议题通常情况下,你的网站可能在大多数移动设备上都无法正常显示。当然大多数情况下是设备不够好,但是你也应该不会希望为适应手机浏览而发费很高的代价做一个全新的站点。解决方案使用Jquery Mobile NuGet package,为传统浏览器和大多数移动手机建立备选的共享布局和视图。讨论首先,假如你阅读过MVC4的技术路线图,你会发现在下一版本增加了许多关于移动化的支持,特别是接下来这个示例中包含的关于JQuery移动支持的内容。不幸的是,现在就开始期盼MVC4还为时尚早,而其中很多事情也只是表示“可能”实现。因此,为了不使等待落空,我会提供了一个简单的解决方案,将工作控制在最小的范围,创建支持 阅读全文

posted @ 2011-12-22 09:42 O2DS 阅读(2573) 评论(9) 推荐(1) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十五)[20 Recipes for Programming MVC 3]:启用图片验证码(CAPTCHA)
摘要:议题很多自动程序会自动提交表单,在互联网上造成大量的垃圾数据,为了防止这种情况发生,我们实现了图形验证码(CAPTCHA:Completely Automated Public Turing test to tell Computers and HumansApart),当用户提交时必须要在文本框中输入图片上显示的正确的字符。解决方案在BookCommentsControllor控制器中安装ASP.NET Web Helper Library中NuGet提供的CAPTCHA。讨论包含一个新的Library Package,在窗体上添加一个CAPTCHA。Microsoft在NuGet WebH 阅读全文

posted @ 2011-12-19 08:33 O2DS 阅读(3081) 评论(1) 推荐(0) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十四)[20 Recipes for Programming MVC 3]:使用Ajax提交Form
摘要:议题当你有一个页面,其中列出重要细节并希望用户可以快速而方便的填写并提交表单,而不需要重新载入整个页面,或在网站上跳转而失去当前导航的页面。解决方案使用AjaxHelper类,创建一个使用Ajax提交并自动更新现有内容的新表单。讨论下面这个例子与之前的秘诀一起,演示如果允许用户在页面没有刷新的情况下查看评论并提交评论。首先,创建新的模型用于存储书的评论。右键单击“Models”文件夹,然后选择“添加”→“类”,将其命名为“BookComment.cs”。此模型将用于提交和存储书籍的评论:using System;using System.Collections.Generic;using Sy 阅读全文

posted @ 2011-12-18 20:06 O2DS 阅读(2327) 评论(1) 推荐(1) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十三)[20 Recipes for Programming MVC 3]:实现Ajax增强用户体验
摘要:议题单击链接的时候,由于网页刷新内容需要重新加载,会感觉整个过程变的非常缓慢,尤其在我们只需要更新少量内容的时候感觉更加明显。解决方案修改之前的示例,将Html.ActionLink 创建的链接更改为由Ajax辅助类Ajax.ActionLink创建,使链接点击时只加载需要改变的内容。讨论MVC框架提供了几个非常棒的辅助类。在目前为止本书使用最后的就是HtmlHelper类,几乎之前所有的视图类都至少使用过一次。在这个秘诀中,将使用AjaxHelper辅助类替换Books和Index视图中所有的HtmlHelper辅助类。要想实现Ajax视需要一点额外的设置才能使用的。通常情况下,也正是这点儿 阅读全文

posted @ 2011-12-18 16:57 O2DS 阅读(2319) 评论(2) 推荐(0) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十二)[20 Recipes for Programming MVC 3]:缩放图片尺寸创建缩略图
摘要:议题用户上传到网站上的大多数的图片都是大尺寸的照片,通常在用户想看完整图片之前网站会展示出这些图片或照片的缩略图。解决方案使用以下的类来调整上传的图片文件的宽和高:FileStream,Image,Bitmap和Graphics。讨论在下面的示例中,将修改和重组之前创建的FileUpload类。创建一个新的称为“ResizeImage”的方法来调整图片大小。调整之后的图片文件将被保存到源文件存储文件夹的子文件夹“Thumbnails”中。同时也要修改DeleteFile方法,添加同时删除原始图像和缩略图,并且为了避免重复代码要创建一个新的删除功能的方法。下面显示变化部分的类代码:using S 阅读全文

posted @ 2011-12-17 10:17 O2DS 阅读(2475) 评论(2) 推荐(1) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十一)[20 Recipes for Programming MVC 3]:通过表单上传文件
摘要:议题同意用户将文件上传并保存到你的网站。解决方案通过HttpPostedFileBase实现将文件上传并保存到磁盘。讨论在下面这个示例中,我们将在之前创建的添加和编辑书籍的视图中添加上传一个缩略图的控件。开始,必须修改Books和Create视图表单的“enctype”以及在表单中用缩略图控件替换文本输入框。以下是修改后的视图文件:@model MvcApplication4.Models.Book@{ViewBag.Title = "Create";}<h2>Create</h2><script src="@Url.Content( 阅读全文

posted @ 2011-12-15 23:17 O2DS 阅读(2642) 评论(2) 推荐(2) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(十)[20 Recipes for Programming MVC 3]:通过关键字进行列表搜索
摘要:议题当排序、分页和筛选不能够帮助用户找到所需的内容,下一步最好的方法就是让用户输入他所想要查找的内容。解决方案使用Html.Helper创建表单和文本输入框,在筛选器选择结果的基础上用Linq Libary使用用户输入的关键字进行查询。讨论就像之前的秘诀所做的,添加关键字搜索需要修改Books和Index视图以及BooksController控制器。在视图中创建一个新的表单,添加新的输入关键字的文本框。此外,为了在用户搜索关键字时,保持用户选择的排序、筛选器选项就需要重新编辑原有代码。下面是修改后的Book和Index视图:@model PagedList.IPagedList<MvcA 阅读全文

posted @ 2011-12-15 10:32 O2DS 阅读(2506) 评论(3) 推荐(2) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(九)[20 Recipes for Programming MVC 3]:对列表进行筛选
摘要:议题当排序和分页不能帮助用户找到他们需要的结果,那就根据条件筛选内容的方式来帮助他们寻找。解决方案添加一个新的链接可以让用户选择预制的标准内容通过Linq Library对列表内容进行数据筛选。讨论添加筛选链接,需要修改Books视图、Index视图和BookController控制器。修改与前两个秘诀类似,添加HTML链接,内容必须是允许用户选择的内容。添加三个新链接:全部、新发布和即将发布。新发布的内容是最近两周发布的内容。即将发布的内容是预告未来发布的内容。下面是新的Books和Index视图。三个链接中都会包含排序规则的参数(以便保持当前用户的排序选项),后两个链接会包含一个名为“fi 阅读全文

posted @ 2011-12-14 12:33 O2DS 阅读(2191) 评论(0) 推荐(2) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(八)[20 Recipes for Programming MVC 3]:对列表进行分页
摘要:议题如果列表过长每次加载都要等很久,或者是无数的列表项中,并不都是你需要的结果。那么将列表分为多页加载,就能减少页面加载时间,尤其是要对列表进行排序,并对更快的找到结果有所帮助。解决方案在列表页面实现PagedList.MVC。讨论首先需要在从NuGet库中为应用程序添加PagedList.MVC的分页组件,它可以对完整的书籍列表进行分页展示。要安装这个软件包,请点击菜单栏“工具”→“Library Package Manager”→ “AddLibrary Package Reference”,点击窗口左侧“Online”按钮,在右上角搜索栏中输入“PagedList”,选中并点击“Page 阅读全文

posted @ 2011-12-13 16:15 O2DS 阅读(2431) 评论(2) 推荐(1) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(七)[20 Recipes for Programming MVC 3]:对列表进行排序
摘要:议题现在有一个很大的列表(例如,图书列表),想找到某一项是非常难的。如果针对列表中的某一项进行排序,应该会对查找有所帮助。解决方案将书籍清单列表的列标题更新为链接,当链接被点击的时候,将通过Linq针对选中列的内容进行排序(通过再次点击标题链接来切换升序还是降序)。讨论与我之前使用过的框架相比添加排序、自动生成视图的过程让我感到有些惊讶。希望在外来的MVC版本中,他可以成为整体框架的一部分。参考ASP.NET MVC的网站首页上示例,我们需要定义一个Switch语句,每一列排序情况都需要复制一个Case来实现。还好我们的这个案例当中只有五个项需要排序,情况还不算太坏。如果以后需要针对比如作者或 阅读全文

posted @ 2011-12-12 13:50 O2DS 阅读(2743) 评论(0) 推荐(0) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(六)[20 Recipes for Programming MVC 3]:找回忘记的密码
摘要:议题您或者在您网站的注册的某个用户,无法想起自己的密码了,需要有一种方法能找回它。解决方案在AccountController控制器中添加一个新的动作和视图,以便用户可以找回他们的密码。利用Membership类搜索和匹配用户,并发送一个包含密码的电子邮件。讨论默认情况下,MVC Internet应用程序使用的是无法逆向转换的单向哈希算法。在下面的例子中,默认是双向散列加密方式。这种方式并不是很安全,但是在用户忘记密码时可以避免强迫用户修改密码。先在Web.config文件中调整Membership节点的设置:<?xml version="1.0"?><c 阅读全文

posted @ 2011-12-10 20:00 O2DS 阅读(2264) 评论(0) 推荐(0) 编辑

[翻译]ASP.NET MVC 3 开发的20个秘诀(五)[20 Recipes for Programming MVC 3]:发送欢迎邮件
摘要:议题许多网站在访问内容或者发表评论的时候 要求用户注册或登录。这样的网站越来越多,用户非常难以记住每个他注册过的站点以及信息。而在用户提交注册信息的时候,网站可以发送邮件,提醒用户他们刚刚签署过注册信息,方便他们稍后访问时查询。解决方案实现SmtpClient类和MailMessage类在用户注册后发送欢迎邮件。讨论发送一份电子邮件,你需要配置SMTP服务器地址、端口、用户名和密码。为了让配置更加简单,建议将这些信息存储到Web.config的AppSettings节点里。 <appSettings> <add key="webpages:Version" 阅读全文

posted @ 2011-12-09 09:32 O2DS 阅读(3015) 评论(9) 推荐(3) 编辑

1 2 下一页

导航