Mike's Blog

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  9 Posts :: 0 Stories :: 4 Comments :: 0 Trackbacks

公告

昵称:又见Mike
园龄:6年5个月
粉丝:1
关注:0

搜索

 
 

常用链接

2006年10月20日 #

1.客户端请求页面

2.PreInit
   使用 IsPostBack 属性确定是否是第一次处理该页。 
   创建或重新创建动态控件。 
   动态设置主控页。 
   动态设置 Theme。 
   读取或设置配置文件属性值。

3.Init
    读取或初始化控件属性。

4.InitComplete
   载入ViewState(LoadViewState)
   处理回送数据(IPostBackDataHandler)

5.PreLoad

6.Load
   回发更改通知(RaisePostDataChangedEvent)
   处理回发事件(RaisePostBackEvent)

7.LoadComplete

8.PreRender
   对页的内容进行最后更改。

9.PreRenderComplete
   保存ControlState(SaveControlState)
   保存ViewState(SaveViewState)

10.Render

11.UnLoad


如果使用了MasterPage,则MasterPage中的事件和ContentPage中的事件按照下面顺序激活:
1. ContentPage.PreInit
2. Master.Init
3. ContentPage.Init
4. ContentPage.InitComplite
5. ContentPage.PreLoad
6. ContentPage.Load
7. Master.Load
8. ContentPage.LoadComplete
9. ContentPage.PreRender
10. Master.PreRender
11. ContentPage.PreRenderComplete
posted @ 2006-10-20 12:12 又见Mike 阅读(163) 评论(2) 编辑


1.CSS的样式定义是按顺序、叠加执行的。 
 
例:

    .Style 
    {
        text
-decoration:underline;         //先执行,下划线 
        color:#000000;                        //后执行,改变颜色 
    } 


转换成HEML的方式来理解,就相当于 :<color> <text-decoration> Str </text-decoration> </color>
离Str越近的标签先执行。

posted @ 2006-10-20 11:48 又见Mike 阅读(81) 评论(1) 编辑

1.正则表达式中的分组(?<name>)

    正则表达式中的分组,是按照整个规则进行匹配,然在把结果分组!(先匹配,后分组)。并不是先把规则分组,然后再匹配!
 
    如:"(?<PageName>.*)aspx"

    先按照 ".*aspx" 进行匹配,然后再把匹配的结果"xxx.aspx"中的"xxx."分到PageName组
posted @ 2006-10-20 11:47 又见Mike 阅读(43) 评论(0) 编辑

1.关于DataReader对象的Read()方法!

    在还没有调用Read()方法之前,数据指针是指向最顶部的,而不是指向第一条记录。每调用一次Read()方法,数据指针都会向下移动一步,如果向下移动成功(表示有记录),返回true。移动不成功(后面没有记录),返回false。
    在第一次调用Read()后,指针才指向第一条可读的记录。
    所以,在正式读数据前,必须至少先调用一次Read()方法。
posted @ 2006-10-20 11:46 又见Mike 阅读(46) 评论(0) 编辑

NDOC和Sandcastle两款工具都可以将C#中的XML注释生成类似MSDN的文档。

NDOC是一款开源的文档生成工具,在asp.net1.1就已经在使用,但官方却一直没有发布针对.net2.0的版本(网上可以google到网友自己修改过针对.net2.0版本)
http://www.percyboy.com/w/ndoc/
让 NDoc 1.3 支持.NET 2.0 程序集,泛型输出和 Visual studio 2005 解决方案导入

Sandcastle为今年微软官方发布的文档生成工具,不过暂时没有UI,只能在命令行模式下操作。
Sandcastle June CTP的下载地址http://www.microsoft.com/downloads/details.aspx?FamilyID=e82ea71d-da89-42ee-a715-696e3a4873b2&DisplayLang=en
SandcastleGUI.exe (非官方的Sandcastle界面工具)
http://www.inchl.nl/SandcastleGUI/


NDOC使用过程中的问题

1。在Chm中连接图片或其他文件

如果要在文档中连接图片或其他文件,则首先要在注释中加<img src="" width="" height=""></img>

  • src只输文件名即可,如 :src="function.jpg",这个路径是代表文件在Chm内部的路径,而不是文件所在的物理路径。

然后在NDOC中的设置FileToInclude选项,将代码中用到的文件添加到Chm内部。
如:

  • 单个    d:\xxx\channel\vip\function.jpg
  • 多个    d:\xxx\channel\vip\function.jpg|d:\xxx\channel\vip\function_2.html

Sandcastle使用过程中的问题

1.关于生成的文档的中文乱码问题:

因为Sandcastle默认的模板xsl文件中没有指定生成的html文件的编码,所以在浏览中文时就会出现乱码。
解决办法就是在模板文件中加入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。



   

posted @ 2006-10-20 11:45 又见Mike 阅读(938) 评论(0) 编辑

一.降低用户使用的门槛,你的一小步是用户一大步

在线图片管理、网络书签其实都不是什么新的概念,而Flickr,del.icio.us等之所以能成为2005年的明星网站,在与他们更加关注用户的体验,在UI操作上非常关注易用性。比如,flickr在图片上传的方式上非常灵活。

二.珍惜用户的时间和每一次点击

流畅自然的上网感觉,来源于每一次操作都是最合理的。在UI和流程上浪费用户的鼠标点击,也是在挥霍用户对于网站的好感。清晰、统一的导航要贯穿网站的始终。

三. 开发者是用网页在与用户进行对话

开发者如果能够时时想到这一点,就不会在界面中使用一些生硬的界面语言。更进一步,一个好的网站,是有生命力的,要把页面中的每一个文字看作交流的渠道,让用户也就能感觉到网站开发者的存在。

四. 创造性的满足用户的需求

Flickr,del.icio.us成功的另一个关键,是在于他们能够通过创新,创造性地满足用户的需求。比如,他们引用tag作为内容管理和分享的方式;flickr打破了以往以相册为单位的图片组织模式,创造了基于Blog的社会化分享方式,并通过开放API与用户实现双赢。

五. 简单就是美,复杂并不意味着强大

以Google为代表的新一代网站追求UI上的简约、实用,主色调通常不超过4种,并贯穿网站的始终。摒弃无关信息的堆砌,简单的界面更能突出功能的强大。

六. 关注新技术为用户体验服务

2005 年,ajax是一个热点,Google map、flickr中ajax的应用使web开发者的眼界豁然开朗,想象空间也变得更加宽广,在flickr中,到处可以看到为方便用户而设计的灵动创 意。RIA也给与了flash在web应用中的全新生命力,不再局限于演示和广告的范畴。flickr的photo organizer使我们看到了flash是怎样与功能seamless结合。

七. 随时随地解决用户的困惑

要在用户可能遇到问题的地方及时给用户伸出帮助之手,不要寄托帮助中心和FAQ能够真正解决问题。

posted @ 2006-10-20 11:44 又见Mike 阅读(44) 评论(0) 编辑

到底元素的id和name有什么区别阿?为什么有了id还要有name呢?!

id的主要用途:
在客户端页面作为对象的唯一表示,同一个页面中不允许出现多个相同的id.可以使用javascript的document.getElementById('id')来获取对象.

name的具体用途有:

用途1:
作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、和button等。我们可以在服务器端根据其name通过Request["name"]取得元素提交的值。

用途2:
HTML元素input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的name属性来实现的。

用途3:
建立页面中的锚点,我们知道<a href="url">link</a>是获得一个页面超级链接,如果不用href属性,而改用name,如:<a name="PageBottom"></a>,我们就获得了一个页面锚点。

用途4:
作为对象的identity,如Applet、Object、Embed等元素。比如在Applet对象实例中,我们将使用其name来引用该对象。

用途5:
在img元素和map元素之间关联的时候,如果要定义img的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的map元素的name)。

用途6:
某些特定元素的属性,如attribute,和param。例如为Object定义参数<param name = "appletParameter" value= "value">。

用途7:
name属性也可以作为客户端对象的标识,可以使用javascript的document.getElementByName('name')来获取对象

posted @ 2006-10-20 11:42 又见Mike 阅读(627) 评论(0) 编辑

CssHover.htc是什么?

IE在对CSS进行解释时有一个错误,就是不能正确解释所有元素的hover定义,除a标签可以正常解释外,其余元素的hover定义一律不能解释.如:

//正常解释
a:hover
{
   background-color:Red;
}

//无法解释
div:hover
{
   background-color:Red;
}

而CssHover.htc文件就是专门为解决这个问题的补丁.它利用javascript脚本来给历遍所有元素的的样式定义.
如果检测到元素有hover定义,就给元素设置onmouseover和onmouseout事件,以此来实现hover的效果.

但该方法由于算法原因,会造成客户端性能损失,使用和不使用在客户端有明显的速度差距.如果使用hover定义的元素较多,客户端会有明显的响应延迟.

  • CssHover.htc和Asp.net TreeView控件产生的问题

         当TreeView的节点过多时,至少超过100左右,会造成ie崩溃.原因如上所述,htc脚本的算法有问题

posted @ 2006-10-20 11:40 又见Mike 阅读(726) 评论(1) 编辑

2005年9月2日 #

在面试的时候遇到一题,题目如本文标题,当时没答出来,只想到可能会利用位运算,但具体代码没想出来,后来在网上也找有同样的问题,摘录其中一段代码:

int Max( int a , int b )
{
    
int MASK = 0x7fffffff;
    
int z = (a>>31- (b>>31+ (((a&MASK) - (b&MASK))>>31);
    z 
= (z+1)*(z+2)*(3-2*z)/6;
    
return z*a+(1-z)*b;
}
posted @ 2005-09-02 17:03 又见Mike 阅读(149) 评论(0) 编辑