随笔分类 -  [02] 编程技巧

上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要:在默认情况下,IE会针对请求地址缓存Ajax请求的结果。换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据),这篇文章就来简单地讨论这个问题,以及介绍几种解决方案。 阅读全文
posted @ 2013-01-03 21:03 Artech 阅读(29958) 评论(56) 推荐(70) 编辑
摘要:我们知道ASP.NET MVC默认集成了jQuery Validation,但是对于通过JavaScript动态添加的表单,客户端验证默认情况下是失效的。为了解决这个问题,可以在动态注入表单之后按照如下的方式调用$.validator.unobtrusive.parse()对表单元素进行重新解析。 阅读全文
posted @ 2012-11-25 11:13 Artech 阅读(14613) 评论(12) 推荐(17) 编辑
摘要:随着最终用户对用户体验需求的不断提高,实际上我们很多情况下已经在按照桌面应用的标准来设计Web应用,甚至很多Web页面本身就体现为一个单一的页面。对于这种复杂的页面,我们在设计的时候不可以真的将所有涉及的元素通通至于某个单独的View中,将复杂页面相对独立的内容“分而治之”才是设计之道。我们可以借鉴Smart Clent应用的设计方式:将一个Windows Form作为应用的容器(Smart Client Shell),在操作过程中动态地激活相应的用户控件(Smart Client Part)并加载到容器中。对于一个复杂页面来说,我们也只需要将其设计成一个容器,至于运行过程中动态显示的内容则可以通过Ajax调用获取相应的HTML来填充。 阅读全文
posted @ 2012-11-23 19:18 Artech 阅读(24276) 评论(59) 推荐(41) 编辑
摘要:我在发表了《Delegate如何进行类型转换?》之后又想到了其他一些相关的东西,除了简单地分析如何通过Emit实现EventHandler的类型转换之外,还加上关于Delegate“协变”与“逆变”的一些东西,算是对前一篇文章的完善。 阅读全文
posted @ 2012-11-04 19:31 Artech 阅读(6048) 评论(7) 推荐(5) 编辑
摘要:我们知道对于两个不具有继承关系的两个类型,如果没有为它们定义转换器,两这之间的类型转换是不允许的,Delegate也是如此。但是有时候我们却希望“兼容”的两种Delegate类型能够进行转换。如果事件的类型不是EventHandler的子类,我们是不可以将一个EventHandler对象对事件进行注册的。如果我们能够将EventHandler对象转换成事件对应的类型,那么就可以到达这样的目的:将同一个EventHandler注册给任意的事件 阅读全文
posted @ 2012-11-02 20:05 Artech 阅读(6155) 评论(16) 推荐(7) 编辑
摘要:对于企业应用的开发者来说,异常处理是一件既简单又复杂的事情。说其简单,是因为相关的编程无外乎try/catch/finally+throw而已;说其复杂,是因为我们往往很难按照我们真正需要的策略来处理异常。我一直有这样的想法,理想的企业应用开发中应该尽量让框架来完成对异常的处理,最终的开发人员在大部分的情况下无需编写异常处理相关的任何代码。在这篇文章中我们将提供一个解决方案来让ASP.NET应用利用EntLib的异常处理模块来实现自动化的异常处理。 阅读全文
posted @ 2012-10-28 17:55 Artech 阅读(22321) 评论(170) 推荐(45) 编辑
摘要:ASP.NET默认采用UrlAuthorizationModule和FileAuthorizationModule分别实现针对请求地址和物理文件的授权,但是在很多情况下我们需要额外的授权方式。Entlib提供了一种基于表达式的授权方式,它允许我们以一个表达式的方式来定义授权的规则。在新的项目中我们希望利用EntLib的授权框架来实现针对ASP.NET页面的自动授权,本文描述的解决方案是我刚刚想到的,希望广大网友朋友们帮助评估一下。 阅读全文
posted @ 2012-10-23 21:09 Artech 阅读(5858) 评论(12) 推荐(6) 编辑
摘要:Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。本文提供了一个解决方案利用ASP.NET SiteMap生成与Bootstrap“兼容”的菜单。具体的原理很简单,就是利用SiteMap读取预先定义的网站结构,按照Bootstrap的标准生成相应的HTML。 阅读全文
posted @ 2012-10-16 17:26 Artech 阅读(8871) 评论(23) 推荐(29) 编辑
摘要:昨天有人在微博上问我如下一个问题:"老蒋,客户端调用wcf的一个接口函数时,有没有什么办法可以先弹出一个确认框,确认后再执行调用。因为这个接口函数再很多地方都执行了调用,所以我想在某个入口进行统一地弹出一个确认框..."。其实这个问题可以通过WCF的扩展来完成,具体来说这个扩展涉及到一个我们不太常用的组件“InteractiveChannelInitializer”,在我的《WCF全面解析》中对它有过概括性的介绍。 阅读全文
posted @ 2012-10-07 10:01 Artech 阅读(9198) 评论(20) 推荐(25) 编辑
摘要:在《RazorView》介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册的DependencyResolver来完成对目标View的激活,这意味着我们可以通过注册自定义DependencyResolver的方式实现基于IoC的View激活。本篇文章中我们将演示如何通过自定义View的方式实现与IoC框架Ninject的集成。 阅读全文
posted @ 2012-09-06 08:27 Artech 阅读(6980) 评论(12) 推荐(12) 编辑
摘要:通过《实例篇》的实演示可以看出我们通过扩展实现的自动异常处理机制能够利用EntLib的EHAB根据执行的一场处理策略对某个Action方法执行过程中抛出的异常进行处理。对于处理后的结果,则按照请求类型(Ajax请求和非Ajax请求)以及当前方法是否设置了Handle-Error-Action名称对请求实施不同响应方法。总之,编程人员无须再写try/catch。 阅读全文
posted @ 2012-08-08 08:25 Artech 阅读(4788) 评论(7) 推荐(4) 编辑
摘要:本篇文章利用ASP.NET MVC的扩展实现与EntLib的异常处理模块的继承,最终完成了自动化异常处理的实现。通过这个扩展,不仅仅可以采用配置的策略进行异常的处理,还能最终完成各种形式的错误消息的呈现。 阅读全文
posted @ 2012-08-07 07:59 Artech 阅读(5113) 评论(15) 推荐(15) 编辑
摘要:企业级Web应用的一个特点是以“数据处理”为主,所以“面向绑定”的Knockout.js 是一个不错的选择。ASP.NET Web API,作为.NET平台最好的REST服务开发平台(主要与WCF相比),则可以以服务的形式提供对数据的后台处理。 阅读全文
posted @ 2012-07-04 08:51 Artech 阅读(14225) 评论(36) 推荐(37) 编辑
摘要:Visual Studio提供的Controller创建向导默认为我们创建一个继承自抽象类Controller的Controller类型,这样的Controller只能定义同步Action方法。如果我们需要定义异步Action方法,必须继承抽象类AsyncController。这篇问你讲述两种不同的异步Action的定义方法和底层执行原理。 阅读全文
posted @ 2012-06-20 11:41 Artech 阅读(34999) 评论(38) 推荐(45) 编辑
摘要:之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对请求数据实施验证。如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解Web服务器访问的压力。在ASP.NET MVC 3.0中,jQuery验证框架被引入是我们可以采用Unobtrusive JavaScript的方式进行客户端验证。 阅读全文
posted @ 2012-06-17 10:28 Artech 阅读(20452) 评论(16) 推荐(19) 编辑
摘要:对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象,在不同的使用场景中可能具有不同的验证规则。举个简单的例子,对于一个表示应聘者的数据对象来说,针对应聘的岗位不同,肯定对应聘者的年龄、性别、专业技能等方面有不同的要求。但是ASP.NET MVC的Model验证确是Model驱动的,因为验证规则以验证特性的形式应用到Model类型及其属性上。这样的验证方式实际上限制了Model类型在基于不同验证规则的使用场景中的重用,本篇将提供一种解决方式实现多规则验证。 阅读全文
posted @ 2012-06-12 17:09 Artech 阅读(11191) 评论(15) 推荐(24) 编辑
摘要:ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model类型及其属性上的ValidationAttribute才有效。如果我们能够将ValidationAttribute特性直接应用到参数上,我们不但可以实现简单类型(比如int、double等)数据的Model验证,还能够实现“一个Model类型,多种验证规则”,本篇文章将为你提供相关的解决方案。 阅读全文
posted @ 2012-06-11 17:22 Artech 阅读(9281) 评论(19) 推荐(12) 编辑
摘要:ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证。对于自定义验证,我们也只需要定义相应的Validation就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单的实例说明在ASP.NET MVC中实现自定义验证的基本步骤。 阅读全文
posted @ 2012-05-15 18:37 Artech 阅读(19570) 评论(22) 推荐(22) 编辑
摘要:看了dudu的《HttpClient + ASP.NET Web API, WCF之外的另一个选择》一文,想起多很久之前体验ASP.NET Web API而创建的一个Demo,放着也是放着,姑且拿出来与大家分享。这是一个只涉及到简单CRUD操作的Web应用,业务逻辑以Web API的形式定义并以服务的形式发布出来,前台通过jQuery处理用户交互并调用后台服务。[源代码从这里下载] 阅读全文
posted @ 2012-05-14 07:50 Artech 阅读(19389) 评论(48) 推荐(32) 编辑
摘要:对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎样的语言来显示界面的内容。对于一个ASP.NET MVC应用来说,我们很容易通过URL路由来实现这样一个功能。 阅读全文
posted @ 2012-05-04 11:00 Artech 阅读(10773) 评论(49) 推荐(12) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页