Welcome 微信登录

首页 / 网页编程 / ASP.NET

深入ASP.NET数据绑定(中)——数据双向绑定机理

深入ASP.NET数据绑定(中)——数据双向绑定机理

深入ASP.NET数据绑定(中)——数据双向绑定机理2011-08-03 博客园 阿不在上一篇《深入ASP.NET数据绑定(上)》中,我们分析了在.NET中的数据绑定语法的一些内部机理。 简单说来就是ASP.NET在运行时为我们完成了页面的动态编译,并解析页面的各种服务器端代码,包括数 据绑定语法。而数据绑定的语法虽是一些<%# %>代码块,在生成的代码中,仍然使用了服务器端控 件以及在DataBinding事件调用DataBinder.Eva...
深入ASP.NET数据绑定(下)——多样的绑定方式

深入ASP.NET数据绑定(下)——多样的绑定方式

深入ASP.NET数据绑定(下)——多样的绑定方式2011-08-03 博客园 阿不在这个系列的上篇中介绍了数据绑定语法的原理以及.NET中如何实现单向绑定,中篇我们简单的介绍 了ASP.NET 2.0 中新增的Bind语法配合DataSourceControl来实现数据的自动双向绑定。这两部分的内容 相对动态抽象并且不常接触,没有很好的源代码支持很难解释清楚,要想真正弄清它们的内部原理,还需 要大家亲自动手去反编译分析动态编译的程序集。在了解了数据绑定语...
微型ORM——用VB和C#编写的动态类型ORM,只有160行

微型ORM——用VB和C#编写的动态类型ORM,只有160行

微型ORM——用VB和C#编写的动态类型ORM,只有160行2011-08-06 infoq 译:侯伯薇近来ORM变得越来越普遍,这都归于一种很具说服力的原因;它可以使开发数据库驱动的应用程序变得 更快、更省力。但是ORM框架都有点“固执己见”,他们期望开发者遵从特定的规则,当规则被打破的时 候就非常难以使用。最通常的规则之一就是,存储过程必须总是返回单独的结果集,其中带有一致的列的 列表。不幸的是,有很多这样的存储过程,其中返回的...
使用自定义ViewHelper来简化Asp.net MVC view的开发 - part1

使用自定义ViewHelper来简化Asp.net MVC view的开发 - part1

使用自定义ViewHelper来简化Asp.net MVC view的开发 - part12011-08-06 博客园 译:CareySon从开发者的角度来看,创建Asp.net MVC的View是一件很爽的事,因为你可以精确控制最终生成的HTML 。具有讽刺意味的是不得不写出每一行HTML代码同时也是Asp.net MVC的View中让人不爽的地方。让我用 我的一个经历来告诉我创建ASP.Net MVC view Helpers背后灵感的由来。由一小部分...
使用自定义ViewHelper来简化Asp.net MVC view的开发 - part2

使用自定义ViewHelper来简化Asp.net MVC view的开发 - part2

使用自定义ViewHelper来简化Asp.net MVC view的开发 - part22011-08-06 博客园 译:CareySon接上篇…首先让我们来看如何创建一个我们先前讨论的textbox我们已经知道需要创建的textbox有一个文本值与之对应:文本值在label标签中可选的值放在Textbox中可选的验证信息(validation message)如果上面3个条件都能满足,肯定也能满足我们在part1里的那5个条件.还有一些锦...
使用自定义ViewHelper来简化Asp.net MVC view的开发 - part3

使用自定义ViewHelper来简化Asp.net MVC view的开发 - part3

使用自定义ViewHelper来简化Asp.net MVC view的开发 - part32011-08-06 博客园 译:CareySon接上篇…现在让我们开始讨论如何创建HtmlHelper扩展方法.在前面我们说到了创建HtmlText类的方方面面。包括为HtmlText创建的扩展方法.这些扩展方法包括直 接被View调用的那些扩展方法。下面代码展示了HtmlText的几种不同的构造函数:public static class HtmlH...
理解和用好System.Web.Abstractions.dll

理解和用好System.Web.Abstractions.dll

理解和用好System.Web.Abstractions.dll2011-08-06 博客园 阿不ASP.NET中,所有的上下文对象(HttpContext,HttpReqeust,HttpResponse…)都没有进行抽象,而 且它们都是自我封闭的对象,我们无法对它进行扩展和修改。虽然它们都提供公有构造器,我们可能也可 以追溯到请求管道的源头,去自己实例化HttpContext,可是它们的大部分方法都是封闭的,不可重写的 ,这样使得我们在做...
ASP.NET WebForm页面内容输出的细节分析

ASP.NET WebForm页面内容输出的细节分析

ASP.NET WebForm页面内容输出的细节分析2011-08-06 博客园 老赵老赵前日的这篇博文讲的是有关ASP.NET WebForm页面内容输出方式的内容。尽管这个话题很老,不过 在ASP.NET MVC中同样适用,而且适用的情况有增无减,因此十分重要。希望这篇文章能够帮助你更好的 理解ASP.NET WebForm页面内容输出的细节。这次我们谈的话题是“WebForm页面上输出内容的方式”。这其实是一个非常旧的话题了,...
安全的截取指定长度的html或者ubb字符串

安全的截取指定长度的html或者ubb字符串

安全的截取指定长度的html或者ubb字符串2011-08-06 博客园 玉开在将html代码输出到页面时,有时候会需要截断字符串保留指定长度的字符串,由于html中有些标签 必须成对出现,所以在截取html时需要特别注意,不能因为截断问题把页面搞乱掉。在截取字符串时需要记录每一个标签是否关闭,如果截取到指定长度还有没有关闭的标签,那么我们 需要将标签关闭,或者删除掉未关闭的标签。不考虑某些不需要关闭标签的情况,html开始和结束标签总 是成对出现的,我们...
发布一个锁定行列的一种方法

发布一个锁定行列的一种方法

发布一个锁定行列的一种方法2011-08-06功能介绍:可以实现锁定表格的行和列的功能,效果和Excel里的冻结窗格类似,当然没有Excel那么强大了,只是类似。问题:当一个table太大而导致在屏幕里显示不下的时候,IE会出现滚动条,但是这时候就不好看了,对用户的操作也不是很方便。于是我们就想给他加一个限制,在制定的范围内滚动。如何实现呢?网上也有不少实现方法了,效果如何就不发表意见了,这里主要是想说一下我的思路。思路:1、其实思路很简单,div有一个&...
编程“方便面”之用户控件

编程“方便面”之用户控件

编程“方便面”之用户控件2011-08-06 博客园 邢少学习使用.net已经有数个年头,从使用.net进行cs开发,到现在做Web开发,一直都是想当然的写着、 敲着。知道有一天,一个java开发者问我一个问题,我虽然将java语言已经还给母校了,但是还是可以读 懂的。在我尝试解决它的问题的时候,发现那哥们无法理解我的想法,他是用eclipse开发java的,java 组的一位资深的技术员过来后,对我的解决方法也是不感冒,问我为什么要那么写呢?为什么要那么...
通用的访问非公有字段(Field)和属性组件

通用的访问非公有字段(Field)和属性组件

通用的访问非公有字段(Field)和属性组件2011-08-06 博客园 阿不在Teddy的 DynamicMethodProxyFactory组件中,提供了一种调用非公有方法的机制。本质上,通过这 个组件是可以实现任意的公有和非公有属性的读写操作(属性本质上可以通过它的get/set方法以方法的 形式访问)。而且性能会比反射提高3 - 4数量级。但是如果我们希望访问某些非公有字段时,那我们还 是无法使用DynamicMethodProxyFactory组...
服务端数据校验及客户端js脚本验证集成处理初探

服务端数据校验及客户端js脚本验证集成处理初探

服务端数据校验及客户端js脚本验证集成处理初探2011-08-06 博客园 lovko一、起源在项目开发中数据有效性验证肯定是必须的,那么在哪里验证呢!?怎么去验证呢?针对web项目而言,客户端验证+服务端的验证缺一不可,客户端的脚本验证用于提高用户体验!服务端的验证主要是为了数据的安全性、合法性的验证!但是我们在实施这两种验证的时候会发现有以下几个可能出现的问题:1.客户端代码验证写起来相对比较烦琐,而且易出错!(主要是拼写错误,例如js方法名拼写错误)...
从丑陋到优雅,让代码越变越美续集之服务器端数据校验

从丑陋到优雅,让代码越变越美续集之服务器端数据校验

从丑陋到优雅,让代码越变越美续集之服务器端数据校验2011-08-06 博客园 KenBlove数据校验是两方面的,客户端校验虽然可以大大减少服务器回调次数提升用户体验.但是客户端校验并 不是万能的,从原理上说,客户端返回的数据都是不可信任的,服务器端校验必不可少.(关于客户端校验的 总结:从丑陋到优雅,让代码越变越美(客户端检测方法思考) )总的来说,服务器端代码也经历了相似的几个过程:以判断一个输入是否是可以转换成整数为例,开始大家都会续项强写:str...
<< 281 282 283 284 285 286 287 288 289 290 >>