一直在做C的开发,最近换了换口味,做了网站,下面是我的心得。

做网站在我看来主要分为两大部分:前台页面和后台控制。前台页面主要设计的技术知识就是html编程,其中涉及好多标签属性,这些多看看书,用的多了,自然也就熟练掌握了;后台控制主要涉及的就是C#编程。

要做网站,首先要学会如何创建一个工程:打开VS2008—Visual C#—Web—ASP.NET Web Application;那么创建了工程之后,如何添加一个页面呢,在你想要添加页面的文件夹下右击,选择Web Form即可。

下面要开始进行网站编程了:前台界面很重要,主要是要学会html,推荐一个好的学习网站:

http://www.w3school.com.cn/html/html_headings.asp

这里总结一下我学到的零散的知识:

1、html的href属性:点击会跳转到设置的页面

2、不要轻视这条语句:if (!IsPostBack);一般在开始加载页面内容时,会做这个判断,判断是否是第一次进入这个页面,免得一直加载页面内容,使效率降低

3、在使用组合框一类的控件时,要使用属性OnDataBinding和OnDataBound进行数据绑定,运行时的调用顺序为先OnDataBinding函数后OnDataBound函数,另外,不要忘记加载页面时调用控件的DataBind函数,这样才会跳进OnDataBinding和OnDataBound函数中进行数据绑定

4、控件没有调用DataBind之前就是用控件的SeletedValue属性是不对的,因为这时候,控件中还没有绑定任何数据

5、给控件增加OnSelectedIndexChanged属性时必须将控件的AutoPostBack属性设为true,不然运行时,不会跳进OnSelectedIndexChanged属性对应的函数

6、做网站最常用的控件就是GridView控件,当然要将自己想要显示的东西显示到GridView中,还需要SQL语句的帮忙啦,通过执行SQL语句形成的表格赋给DataTable的变量,再将变量赋给GridView的DataSource属性

7、说到SQL语句,这里就不得不提一下啦,ACCESS数据库的查询语句与SQL数据库的查询语句略有不同,比如下面这个SQL语句:

SELECT ....FROM (Positions INNER JOIN AuditFlowAuditors
                                            ON AuditFlowAuditors.AuditorID=Positions.PositionID)
                                            LEFT JOIN Groups ON Positions.GroupID = Groups.GroupID WHERE...

在ACCESS数据库中就必须加FROM后面那个括号,若后面再级联一个表,如下语句:

SELECT ....FROM ((Positions INNER JOIN AuditFlowAuditors 
                          ON AuditFlowAuditors.AuditorID=Positions.PositionID)
                          LEFT JOIN Groups ON Positions.GroupID = Groups.GroupID)

         LEFT JOIN Users ON Positions.PositionID = Users.PositionID WHERE.......

那么这时候,就要将前两个表的级联都括起来,ACCESS数据库查询语句中,如果级联的表格大于2个表格,那么级联的语句要将括号括起来

8、SQL数据库中查询语句CASE  WHEN THEN ELSE END 语句在ACCESS数据库中不支持,会通过iif语句实现,如下:

SQL数据库中:SELECT FlowID, FlowName, FlowType =
                            (CASE
                             WHEN FlowType = 0 THEN '按用户设定'
                             WHEN FlowType = 1 THEN '按职务设定'
                             ELSE '按用户设定'
                             END), FlowDesc FROM AuditFlows ORDER BY FlowID ASC

ACCESS数据库中:SELECT FlowID, FlowName,
                            iif((Audit.FlowType = 1),'按职务设定','按用户设定') AS FlowType,
                            FlowDesc FROM AuditFlows AS Audit ORDER BY FlowID ASC

说明:ACCESS数据库中查询语句之所以像上述那样写是因为:查询了FlowType这个字段,再AS为FlowType这个名字时,ACCESS数据库不支持,所以将表AuditFlows其别名Audit,那么查询的时候查询表Audit中的FlowType,其别名时起为FlowType就没错了,哈哈~~

9、ModalPopupExtender控件使用方法:可在页面中弹出定义的面板。

PopupControlID:要弹出的面板ID

 OkControlID:弹出面板中的确认按钮,用于确认新的样式。

CancelControlID:样式面板中的取消按钮,用于取消应用样式。

TargetControlID:用于触发弹出面板的控件。