2009年4月9日21:40
1. codebehind并非如传说般是代码重用的有效方法,它更明显的地方是分离了用户界面与程序逻辑,这么做的论点是代码重用,其实这么做并不有助于代码重用,更好方法是创建分离的组件库。(就连这位众多微软MVP们的偶像都喜欢使用单页面,我们也不能盲目崇拜codebehind了)
2. 在页面的生命周期中有一系列的事件,我们一般不需要去关心它们全部,我只需要记住 Load 事件发生在所有控件事件之前,而 PreRender 事件发生在所有控件事件之后。(AutoEventWireUp并不对所有页面事件有效,Page_InitComplete()事件就不支持)
3. 使用Page对象的IsPostBack属性来判断页面是否发生了回送,而Page的另一个属性IsValid则是判断页面是否通过了验证,只有在页面内的全部验证控件都通过后,它的值才为true.
2009年4月30日9:32
1. SQL Server的ADO.NET连接提供程序能够自动使用连接池来提高应用程序数据访问的性能。当连接关闭后并不是立即销毁,而是继续保持一段时间,以便再次使用时能迅速再次进行访问。然而,只有通过相同的连接字符串创建的连接才会放入连接池(经过严格的字符匹配),所以,应将数据连接字符串写在web.config文件内,DataSource的ConnectionString属性使用<%$ ConnectionStrings:StringName%>来取得web.config文件内的连接字符串。
2. 对web.config文件内的连接字符串进行加密和解密使用aspnet_regiis命令行工具。这个工具在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ 下。下面对c:/Websites/MyWebsite下的web.config文件内的connectiongStrings进行加密和解密:
加密命令:aspnet_regiis -pef connectionStrings "c:/Websites/MyWebsite"
解密命令:aspnet_regiis -pdf connectionStrings "c:/Websites/MyWebsite"
1. codebehind并非如传说般是代码重用的有效方法,它更明显的地方是分离了用户界面与程序逻辑,这么做的论点是代码重用,其实这么做并不有助于代码重用,更好方法是创建分离的组件库。(就连这位众多微软MVP们的偶像都喜欢使用单页面,我们也不能盲目崇拜codebehind了)
2. 在页面的生命周期中有一系列的事件,我们一般不需要去关心它们全部,我只需要记住 Load 事件发生在所有控件事件之前,而 PreRender 事件发生在所有控件事件之后。(AutoEventWireUp并不对所有页面事件有效,Page_InitComplete()事件就不支持)
3. 使用Page对象的IsPostBack属性来判断页面是否发生了回送,而Page的另一个属性IsValid则是判断页面是否通过了验证,只有在页面内的全部验证控件都通过后,它的值才为true.
2009年4月30日9:32
1. SQL Server的ADO.NET连接提供程序能够自动使用连接池来提高应用程序数据访问的性能。当连接关闭后并不是立即销毁,而是继续保持一段时间,以便再次使用时能迅速再次进行访问。然而,只有通过相同的连接字符串创建的连接才会放入连接池(经过严格的字符匹配),所以,应将数据连接字符串写在web.config文件内,DataSource的ConnectionString属性使用<%$ ConnectionStrings:StringName%>来取得web.config文件内的连接字符串。
2. 对web.config文件内的连接字符串进行加密和解密使用aspnet_regiis命令行工具。这个工具在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ 下。下面对c:/Websites/MyWebsite下的web.config文件内的connectiongStrings进行加密和解密:
加密命令:aspnet_regiis -pef connectionStrings "c:/Websites/MyWebsite"
解密命令:aspnet_regiis -pdf connectionStrings "c:/Websites/MyWebsite"