ClubWEBSite starter kit二次开发及Vs2005中ObjectDataSource控件的应用小记
Vs2005给我们带来很多优秀的初学者工具包,说是说初学者工具包,以我的心得来看,其实这些工具包应该是我们了解和熟悉vs2005以及.net2.0新特性最好的指导性工具包,不同层次的程序员都可以从中得到收获。
在拿到vs2005的第一时间,我就应用其中的Club Web Site 工具包,经过简单的本地化,包括:将所有的标签文字统一到资源文件;加入HtmlEditTextBox;并加强编辑器提供图片及附近上传功能;所有Club原始工具包中未完成的静态文本部分实现数据库管理。经过以上修改,基本可以满足我的基本需求和应用。
其中静态文本动态化(暂且这么称呼),因为是初次使用vs2005,所以全部应用SqlDataSource控件作为数据提供中间件,配合FormView,拖拖拽拽就OK达,感觉真是非常方便和快捷、高效。这里唯一需要注意的就是,如果你采取完全交由SqlDataSource控件来处理数据的获取,那么SqlDataSource控件会在UI层生成大量的SQL字符串,如相应的SELECT、INSERT等语句,造成过多的暴露数据库中表结构信息。因此,建议即使使用SqlDataSource控件,仍须配合存储过程为佳。
随着对站点功能的加强,很希望访客可以在小站留下自己的观感,所以萌发达在Club Web Sit工具包二次开发加入留言板功能的想法,心动不如行动,说干就干。
首先,决定采用ObjectDataSourc控件,采取3层架构来实现留言板功能模块:设计和数据库表结构、相应存储过程。举例说明:
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/InBlock.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
36
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
此处GetLeaveword方法返回List<Leaveword>对象,正是为配合ObjectDataSource的要求而定义,这样ObjectDataSource作为其他数据绑定控件时,才能正确工作。
具体效果可以访问:http://www.tianyuanedu.net/smartweb/Leavewords/default.aspx
我这里仅是抛砖引玉,希望可以看到更多好的案例及Starter kit应用。