强大的小软件Window Install Clean up

下载地址可以google到。推荐的原因就是它太厉害了。而且一旦自己制作setup project的时候搞出了一个bug,而且install的时候成功了。uninstall的时候不能成功进行。就惨了–软件装上去了删不掉。如果要手工删除必须把自己注册的unmanged Com反注册掉,把managed dll从GAC里面去掉,清理干净注册表等。否则如果是同一个软件,再编译后的正确版本也无法装上去:因为前一个版本没有卸掉。

这个时候Windows Install Clean up Utility 出马就搞定了。

 

<%#... %>和<%=...%>

http://www.pconline.com.cn/pcedu/empolder/wz/asp/10111/12466.html

这里说得很清楚,第一个是在DataBind()之后才调用,而第二个是程序运行前执行。

所以时间就是不一样的。主要说说第一个,<%#…%>里还可以调用c#的方法,如我的项目中的

 <%# GetAttentionTo(Container)%>。另外,现在已经不用使用DataBinder.Eval(),Eval已经是父控件(或页面)的方法。可以用this.Eval(“YYY”)调用。而且VS2005中还有自动完成提示。(经常不灵)

(XXX)Container.DataItem[“YYY”]也是<%#…%>的Container的一个常见用法,也可以参考MSDN DataBinder类。它接受Container作为参数。甚至,this.Bind(“YYY”)的写法也可以。。。

 

而上述链接里的例子说明,要使<%#…%>生效,如果是该tag在控件里,需要调用控件的DataBind(),如果直接在页面中,则需要页面的Page.DataBind().