摘要: 在前两篇文章中,我们了解到了ASP.NET Web Forms 4.5四个新特性:强类型数据控件和Bundling、针对HTML5的更新和Unobtrusive Validation。在介绍强类型控件的时候只是简单介绍了下它具有ItemType的属性,可以设置强类型值进行绑定,如果只是引入了这个属性,那么有点像语法糖,没什么实际意义。其实许多园友也发现了在ASP.NET Web Forms 4.5中引入了许多MVC的特性,而Model Binding则是更加像MVC的一个特性了。Model Binding如果用过ObjectDataSource控件,肯定对其SelectMethod有印象,在A 阅读全文
posted @ 2012-09-21 09:40 Parry 阅读(4163) 评论(5) 推荐(3)
摘要: 在前一篇文章中我们介绍了两个新特性:强类型数据控件和Bundling。这次我们再介绍两个新特性:ASP.NET Web Forms 4.5中针对HTML5的更新和Unobtrusive Validation。针对HTML5的更新在ASP.NET Web Forms 4.5中,控件TextBox的TextBoxMode从之前的三个(SingleLine/MultiLine/Password)增加到了16个,详细见MSDN。这样使得做表单类页面的时候,降会大大地降低验证的代码量,提高开发效率,将更多的人力资源放在业务逻辑上。FileUpload控件终于开始支持多文件上传,可以通过AllowMult 阅读全文
posted @ 2012-09-19 12:17 Parry 阅读(3843) 评论(5) 推荐(2)
摘要: 在微软线上发布了Visual Studio 2012后,我们也能清晰地看到ASP.NET Web Forms 4.5中的一些新特性了。今天先看两个新特性:强类型数据控件和Bundling。强类型数据控件在出现强类型数据控件前,我们绑定数据控件时,前台一般使用Eval或者DataBinder.Eval(Container.DataItem,"FieldName")的形式。1<%#DataBinder.Eval(Container.DataItem,"FieldName")%>2<%#Eval("FieldName")% 阅读全文
posted @ 2012-09-18 15:09 Parry 阅读(4102) 评论(4) 推荐(0)
摘要: 在上一篇文章不同版本的SQL Server之间数据导出导入的方法及性能比较中比较了5种方法进行数据迁移的效率,最后发现使用SqlBulkCopy具有极高的性能。在文章的回复中,园友温景良(Jason)提到:sqlbulkcopy如果加上事务呢,速度应该快些吧!当时我一想,SqlBulkCopy可以包含在事务里面执行吗?因为我记得SqlBulkCopy是基于BCP且不写log的。所以也没敢仓促回复。然后我去查了下,的确是可以包含在事务中执行的,且提供了两种方法。使用UseInternalTransaction在构造函数SqlBulkCopy(String, SqlBulkCopyOptions) 阅读全文
posted @ 2012-09-11 15:45 Parry 阅读(3701) 评论(8) 推荐(2)
摘要: 工作中有段时间常常涉及到不同版本的数据库间导出导入数据的问题,索性整理一下,并简单比较下性能,有所遗漏的方法也欢迎讨论、补充。00.建立测试环境01.使用SQL Server Import and Export Tool02.使用Generate Scripts03.使用BCP04.使用SqlBulkCopy05.使用Linked Server进行数据迁移06.使用RedGate的SQL Data Compare07.结果对比可以先看下测试的结果00.建立测试环境建立一个测试的环境,一个数据源数据库,版本为SQL Server 2008,一个目标数据库,版本为SQL Server 2000。实 阅读全文
posted @ 2012-08-31 15:11 Parry 阅读(11080) 评论(14) 推荐(8)
摘要: 在之前的文章MVC3缓存之二:页面缓存中的局部动态中,没有注意到MVC3的版本中对输出缓存进行了修改,园友的评论中提及了此问题,所以又去抽时间看了下局部缓存的解决方案。最后发现在发布的MVC3版本中,新增了一个叫做Partial Page的东西,即可以对载入到当前页面的另外的一个View进行缓存后输出,这与我们之前讨论的局部动态刚好相反了,即之前我们进行这个页面的缓存,然后对局部进行动态输出,现在的解决方案是:页面时动态输出的,而对需要缓存的局部进行缓存处理。查来查去还没有看到局部动态的解决方案,所以我们先看看局部缓存的处理方法。局部缓存(Partial Page)我们先建立一个需要局部缓存. 阅读全文
posted @ 2011-04-11 14:59 Parry 阅读(5859) 评论(6) 推荐(6)
摘要: 在上一篇我们讨论了MVC中使用页面缓存的一些方法,而其中由于页面缓存的粒度太粗,不能对页面进行局部的缓存,或者说,如果我们想在页面缓存的同时对局部进行动态输出该怎么办?下面我们看下这类问题的处理。MVC中有一个Post-cache substitution的东西,可以对缓存的内容进行替换。使用Post-Cache Substitution定义一个返回需要显示的动态内容string的方法。调用HttpResponse.WriteSubstitution()方法即可。示例,我们在Model层中定义一个随机返回新闻的方法。usingSystem;usingSystem.Collections.Gen 阅读全文
posted @ 2011-03-29 11:08 Parry 阅读(6284) 评论(12) 推荐(7)
摘要: 在以前的WebForm的开发中,在页面的头部加上OutputCache即可启用页面缓存,而在MVC3中,使用了Razor模板引擎的话,该如何使用页面缓存呢?如何启用在MVC3中要如果要启用页面缓存,在页面对应的Action前面加上一个OutputCache属性即可。我们建一个Demo来测试一下,在此Demo中,在View的Home目录下的Index.cshtml中让页面输入当前的时间。@{Layout=null;}<!DOCTYPEhtml><html><head><title>Index</title></head>&l 阅读全文
posted @ 2011-03-19 11:15 Parry 阅读(9028) 评论(9) 推荐(10)
摘要: 在前端优化的各种金律铁规中,“减少客户端对资源的请求”都会在其中出现,刚好最近对网站做一些优化,使用了一下Combres组件,有点心得,遂整理成文。园子中也有几篇Combres组件的介绍,如:Combres库学习小结以及部分源码分析和使用Combres 库 ASP.NET 网站优化。可部署时参考起来显得有些简略,所以此文也算对此类文章的补充。配置组件此组件的一些作用和原理在我上面提及的两篇文章中有介绍,可以自行移步至对应的文章中查看。这里还有有作者介绍的一些详细的使用方法。下载Combres组件,下载下来的包里包含了DLL、帮助文件、源码和一些例子,我们现在直接来看如何部署。在下载下来的\Bi 阅读全文
posted @ 2011-01-28 16:44 Parry 阅读(5757) 评论(20) 推荐(5)
摘要: 在前端优化中,js、css等文件的优化一般都是压缩的优化,进行合并、减小体积以达到减小请求的目的。今天发现了一个集成在VS中的压缩插件,使得压缩变得比较快捷。配置方法首先需要去下载Microsoft Ajax Minifier,一路安装就可以,如果VS正在使用,需要重启。在你的web项目上右键,点击卸载项目,使得变成灰色。在卸载的项目上点击编辑,在proj文件的添加配置节点,像下面这样配置节点说明。参考了此博文中的一段:Include属性是需要进行压缩的目录路径并带文件通配符Exclude则是不需要进行压缩的文件路径WebResources是我根目录下的文件夹,可以根据实际项目进行相应的调整A 阅读全文
posted @ 2011-01-24 14:37 Parry 阅读(1898) 评论(1) 推荐(3)