07 2011 档案
摘要:absolute是绝对定位的,是相对于浏览器。relative是相对的,如果有父类就相对于父类,如果没有就先对与浏览器。下面看下有父类的情况:postion testposition test2那么他是相对与padding的text的:要计算就要从position test的下面开始算。2、我不知道...
阅读全文
摘要:这个自定义类还是有点困惑滴。先看网上有个人做滴,模仿jQuery定义一个jQuery对象。3 seconds later I will hide.刚开始看这段代码时晕晕滴,先定义一个类吧:function $(..)名字为$,让我看得很疑惑,原来它是定义一个jQuery的类呀。然后在后面调用的时候又...
阅读全文
摘要:记得第一次接触jQuery的时候就让人教会用jQuery对象,而基本上已经忘记了DOM对象了,还记得js中是怎么去的DOM对象的,比如有getElementById、getElementByTagName等方法。一般地我们可以用$(getElementById("some"));吧DOM对象转换成j...
阅读全文
摘要:这里先要讲下什么是Ajax。待续。今天这里只讲Ajax请求的一部分,以后有用到别的在续写。1、jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求。这个我之前是有用过滴。但理解有些偏差。这里先将下正确的。url即要传递的地址、date是参数、cal...
阅读全文
摘要:刚刚写了一大堆,被我不小心给刷新下,没了。现在就不写那么多了。直接贴代码: function modify(){ //createElement()生成元素 var newElem=document.createElement("p"); newElem.id="newP";//相当于 newEle
阅读全文
摘要:之前给一个微软的MVP问IE6和IE7、IE8的根本不同是什么?我当时就傻眼了。现在我知道了。我特地找了下, 在维基百科中介绍,在IE第七版中,微软对Trident排版引擎做了重大的变动,除了新的技术外,并增加对网页标准的支持。尽管这些变动已经在相当大的程度上落后了其它排版引擎,如Gecko、Web...
阅读全文
摘要:在IE5.5和IE6会出现这样一个奇怪的问题,先看代码和运行结果:内容下面是正常的运行结果:30+20=50那么来看下IE5.5和IE6的运行吧:30为什么会这样呢?估计是IE5.5和IE6内核的问题,看来我要去了解下他们的内核。我也测试了用padding-left和margin-left,但IE5...
阅读全文
摘要:嵌套 DIV,当子div 为浮动(float)时,父div 的高度在Firefox 不能根据子DIV 自动变化问题浏览器:Firefox、Opera。如: hello 他们说,浏览器的高度不能自动计算,导致的结果是父类的Div有背景和背景图片的时候不能自动平铺。这个我不懂得理解,就先记下来(下面是...
阅读全文
摘要:正确的浏览器兼容写法是:FF(Opera、safari)、IE6、IE7。下面是我写的一个例子:css testcolor test这里我边框的颜色故意写不一样,以用来区别。2、样式盒子宽度问题:View Code css testcolor test因为IE5.5存在一个bug,他的盒子解释跟IE...
阅读全文
摘要:之前调整浏览器兼容基本上没用到CSS Hack技术,所以调整起来相当麻烦,很多时候要一个个像素来调。今天研究了下CSS Hack,感觉受益良多。先看下我们可以设定属性的不同符号来调整:———————IE6—— IE7——IE8——IE9---FF—— Opera9.5>property—— Y——...
阅读全文
摘要:接口:ICacheDependency实现类:TableCacheDependency下的类工厂类:CacheDependencyFactory.DataAccess这个工厂类跟之前的工厂类差不多,实现起来没什么太大的区别,但还是记录下来吧,因为毕竟这种模式知道归知道罢了。先看下这个接口ICache...
阅读全文
摘要:这应该是我之前安排的最后一个任务吧:CacheDependenceFactory(缓存依赖的工厂类)、ICacheDependency(缓存依赖接口)、 TableCacheDependency(缓存依赖实现类)很明显,这是一个工厂模式,对这种模式,我还是先来看下接口吧,这个接口很简单,只定义了一个...
阅读全文
摘要:众所周知,petshop用到了四个数据库,他们分别是MSPetShop4,MSPetShop4Profile、MSPetShop4Order还有一个就是MSPetshop4Services.今天重点学习前三个,先说第一个MSPetShop4吧,它有6张表,我截图下来说话吧,这样有助于我的表达:这张是...
阅读全文
摘要:先把这个控件的试图截下来吧:这样看来这个控件的职责一目了然了吧。protectedvoid Page_PreRender(object sender, EventArgs e) { if (!IsPostBack) { BindCart(); ...
阅读全文
摘要:很久以前就疑惑这段代码是怎么回事(下面还是拿petshop的product.aspx.cs为例吧):publicpartialclass Products : System.Web.UI.Page { protectedvoid Page_Load(object sender, Eve...
阅读全文
摘要:刚开始接触asp:Wizard的时候摸不着头脑,不知道这个是什么东东,因为之前自己没有用过这个控件,算自己长见识了。故今天把它记录下来。View Code 1 3 4 5 6 7 8 9 10 11 12 Next 14 ...
阅读全文
摘要:这个应该是清单的控件的,他将会被放在CheckOut.aspx中,本来这个控件没有什么好讲的,但这边的实现功能出乎我意料: Thank you for your order! ...
阅读全文
摘要:这个控件是用来记录注册用户的资料的。本来这个好像没有什么可记录的,但他的处理方式可谓是高人一等。所以在此记录下来。下面这张是这个控件实现的功能:重点 看它是怎样收集这些信息的,要是我的话估计要定义很多string了,看下他们是怎样处理的吧:View Code 1 namespace PetShop...
阅读全文
摘要:先来看看自己以前做的Search功能吧: 搜索结果 ' target="_blank" title=""> ...
阅读全文
摘要:发现petshop的页面加载方式很多,有page_load、Page_PreRender、Page_PreInit这些到底有什么区别呢?Page_PreInit是页面初始化事件,他完成的事情是:1、检查IsPostBack来判断是否第一次加载这个页面(如果不是那会怎么样呢,是不是加载会比较快?不是,...
阅读全文
摘要:前面我讨论过抽象工厂模式,但我的理解有错,如果照那样理解的话最多只能算是简单工厂的模式,那么它们有什么其别呢?先来看下简单工厂模式(下图是我从网上找的):他有一个Factory(工厂类),还有一个接口(Product)算是产品类吧,然后就是具体产品A和B了。我晚上自己写个简单工厂类,再贴出来。接下来...
阅读全文
摘要:Order订单的实现可以采用异步也可以采用同步,但接口(IBLLStrategy.IOderStrategy)就一个,不论是同步(OrderSynchronous)还是异步(OrderAsynchronous)都要去实现这个接口。然后在BLL.Order应该配置文件反射依赖注入对其进行实例化,当然这...
阅读全文
摘要:在Global.asax全局变量中对匿名用户有进行了处理,我当初也在想,这个匿名用户买了东西,要下单的时候需要登录,登录后它买的东东怎么转换给登录的用户呢?下面先来看下这段处理代码吧: 1 //将匿名用户转换为注册用户处理 2 void Profile_MigrateAnonymous(Object...
阅读全文
摘要:今天网上找关于Profile的资料,欣喜的发现Profile的处理机制了。在上节中我叙述了Profile.PetShopProfleProvider的相关机制。但这个实现是很普通的,根本就没有有涉及到Profile的运行机制。关键还是在web.config这个配置文件上,其实我也猜到了,猜到了ASP...
阅读全文
摘要:网上有的资料说Profile这是个数据访问层,但我觉得不是,因为数据访问层要有数据的基本操作吧,如insert等。其二,这个明明是业务逻辑层的,因为它即加载了BLL层,有加载了DAL层的ProfileDALFactory这个抽象工厂即其接口类。所以我先判定其为BLL层的。首先Profile这个类继承...
阅读全文
摘要:今天在研究petshop的PetShop.SQLProfileDAL.PetShopProfileProvider时有幸看到事务的处理,其实之前在消息队列的时候也有遇到过,但那时候忙着整理消息队列,故没怎么去想这个,现在再次遇到就一并记录下来吧,老规矩还是先看下SQLProfileDAL.PetSh...
阅读全文
摘要:IList在ASP.NET2.0后就是一个泛型强类型集合了,它也是一种面向接口思想的体现。想说说我做的的IList和List吧,还是拿petshop举例说明: 1 public IList GetCategories() { 2 3 IList categories =ne...
阅读全文
摘要:petshop是采用面向接口的编程思想,接口的有点我之前知道了一些,它是一种规范,更易团队合作开发。但,接口真的就只有这点优点吗?来看看petshop的接口是怎样实现吧,就说数据访问层吧:IDAL定义了数据访问层的接口,SQLServerDAL对接口进行实现,然后在抽象工厂DALFactory中对D...
阅读全文
摘要:PetShop.OrderProcessor是一个控制台应用程序,我很奇怪这个控制台程序是怎样在web应用程序中的。不管怎样,老习惯先分析下这个控制台程序吧: 1 staticvoid Main() { 2 3 Thread workTicketThread; 4 ...
阅读全文
摘要:张逸老师说的,异时消息处理队列为什么设置成抽象工厂是这样的:/********************************************************************/考虑到IOrder的实现有可能的变化,PetShop仍然利用了工厂模式,将IOrder对象的创建用专...
阅读全文
摘要:我觉得要正确理解DALFactory.DataAccess这个函数,就先得理解什么事抽象工厂,设计模式自己没有学过。只是非常粗劣看了一下。抽象工厂的定义是这样的:提供一个创建一系列相关或相互依赖的接口,而无需指定它们具体的类。如果是从字面上的理解应该是给上一层或调用者提供一系列的功能的接口,让上层或...
阅读全文
摘要:老习惯还是先把GetCachedParameters这个函数的代码贴出来。 public static SqlParameter[] GetCachedParameters(string cacheKey) { SqlParameter[] cachedParms = (SqlParameter[]...
阅读全文
摘要:根据petshop的习惯,他们还是把sql语句适时拆开,然后写成静态的字段,具体看下,我就重点研究了Produce的GetProductsBySearch功能:privateconststring SQL_SELECT_PRODUCTS_BY_SEARCH1 ="SELECT ProductId, ...
阅读全文
摘要:petshop的order里的所有字段并非全部在实体类生成,所得有点晕,还是先看下他们是怎么做得吧:privateint orderId; private DateTime date; privatestring userId; private Credit...
阅读全文
摘要:Invertory类对商品库存的更新,应该是涉及到数据库MSPetShop4和数据库MSPetShop4Orders。因为MSPetShop4.Inventory的数量要更改要扣除MSPetShop4Orders.LineItem的订单数量。如果是我来处理的话应该会这样做:update Invert...
阅读全文
摘要:还是更上次的例子一样,只是这次不是用最原始的方法去实现了,这次是用AJAX.NET进行开发1、配置及安装AJAX.NET,这个就不在这里说了,不会就google下吧。2、直接步入主题,前端代码: 1 2 3 Ajax.NET测试 4 31 32 33 34 35 36 37 38 3、后台代码:...
阅读全文
摘要:看了5.3节的AJAX.NET进行开发,让我对AJAX有了新的认识,之前只是知道它可以实现无刷新的技术吧,现在知道其机制了。下面应该是AJAS原始开发的原理吧:对于AJAS技术的基础和核心,XMLHttpRequest对象应该是其实现发送异步请求并响应执行回调。XMLHttpRequest有几个属性...
阅读全文