1:command调用存储过程的时候,如果输出是dataset,selectcommand的command对象的connection先要指出,否则catch一辈子也是空的..
2:存储过程的varchar字段如果是x.x的这种格式,容易出现细微的傻错误,注意不要漏了[].
3:如果ascx文件的默认服务器控件的事件不重写的话在control控件里面没有自动回送!切记.
4:Page.RegisterOnSubmitStatement在ascx文件中小心使用...
5:viewstate在true的状态下暴涨了许多没用的数据...
6:明确掌握事件的前后次序.,诸如onsubmit和onclick的区别没啥说的...
7:注意page_load和__dopostback的关系,
8:如果在页面动态加载ascx的话,分清楚page_init的要执行的操作,不要滥用用户控件和自定义服务器控件(重点)
9:cs文件框架需要明确,最后集成,定版本好.
10;使用第三方的在线编辑器的话最好使用框架,ok?!
11:多个CS文件编译的时候后面的源不要加逗号就可以了.
12:在第五点中加载的js可以单独开发,在onsubmit中,因为form只有一个ascx很多,
13:系统的错误全部标出错误码(以后可以在xml文档帮助文档中写出,多语言版本可以共用),这想法真好.
14:控件本身用loadcontrol的时候出现不识别page页面的属性,只有在page页面的inhert修改之.
15:注意这个存储过程:
CREATE proc spage
@pagesize int,
@destpage int
as
set nocount on
declare @id int
declare @startid int
select @startid = (@destpage - 1)*@pagesize
set rowcount @startid
select @id = id from [crm_articler]
set rowcount @pagesize
set nocount off
select * from t_member where id > @id order by id
GO
execute后面的()有无有莫大关系.
16:别在page_load里面试图修改全局变量,没那功能的.
17:带有不确定性口气的程序没看的必要性。
18:后台使用框架的技巧(style,js,类)布置合理,尽量独立出后台,不依赖前台的部分命名空间或类。
19:可以这样使用:using (context = System.Web.HttpContext.Current)
20:尽量把编译的输出文件简洁+独立,功能是一个模块的就编译成一个文件,但不要把module(usercontrol)和普通的放开,因为UserControl有assembly的问题。
21:磁盘读取xml文件是很慢的,不要老是读取之,可以放入缓存的就放进去。
22:文件读取reader,或者datareader一定要close();