笔记

页面跳转的4种方法:

1.修改a页面中的Form的action属性(post,get均可)(相当于有问题你们不问自己老师,问其他老师,把自己的老师晾起来)(点击链接(a标签)实现跳转 用get方式)
2.在a页面的响应方法中,Redirect到b页面(get)(相当于有问题你们问自己老师,老师让你们自己去,然后你们就去找了其他老师)
3.在a页面的响应方法中,Server.Execute到b页面(post)(相当于有问题你们问自己的老师,老师自己去咨询其他老师,然后回来回答你们)
4.在a页面中的响应方法中,Server.Transfer到b页面(post)(相当于有问题你们自己问自己的老师,老师出去找其他老师,换了一个老师进来回答你们)


注入式攻击:
随便输入用户名,然后在后面加 ' or '1'='1 ,密码一样。如:aa' or '1'='1
解决它的方法: string sqltext="select count(*) from UserTable where UName='"+username.Replace("'","''")+"'and UPassword='"+password.Replace("'","''")+"'";


6大对象:

1.Request 客户端传给服务端的
2.Response 服务端传给客户端的
3.Session 会话(每次进入时的会话都是不同的)
4.Server Server.MapPath() Server.Transter() Server.Execute() 显示服务器的信息
5.Cookie
6.Application


命名空间:

Socut.Data

//##################### CData 类 #####################

实现功能:读取(DataSet方式),插入,更新,删除,统计

调用方法:

public CData myData=new CData();

实际操作:

1,读取

public DataSet ds=new DataSet(); //此DataSet类已经由微软封装提供

ds=myData.GetDataSet("SELECT * FROM 表 WHERE 条件",开始行,多少行,"虚拟表名");

2,插入

myData.GetExecuteNonQuery("INSERT INTO 表 (列1,列2) VALUES (变量1,变量2)");

2,更新

myData.GetExecuteNonQuery("UPDATE 表 SET 列1=变量A,列2=变量B WHERE 条件");

3,删除

myData.GetExecuteNonQuery("DELETE 表 WHERE 条件");

5,统计

myData.GetExecuteScalar("SELECT * FROM 表 WHERE 条件",统计类型)

统计类型分两种:

int 整型:1

double 带小数点:2 (记忆方法:如果你知道double在英文单词中有“双倍”的意思,那么类型对应值自然可以联想到“2”)

//##################### CReader类 #####################

实现功能:读取(DataReader阅读器方式)

调用方法:

public CReader dr;

实际操作:

dr=new CReader("SELECT * FROM 表 WHERE 条件");

//--------------------------------------------

if(dr.Read())

{

//如果特定条件的值存在,立即终止下一行的读取

}//--------------------------------------------

while(dr.Read)

{

//循环读取符合条件的值

}//--------------------------------------------

调用读取出来的值:

dr["列名"]

使用完后关闭:dr.Close();

//#####################

更多扩展功能 #####################

1,如何实现搜索功能?

答:使用GetDataSet,或是Creader都可以实现的,因为它根本就是一个数据库内容的读取。关键的只是SQL语句的使用,应该为SELECT * FROM 表名1 WHERE 列1 LIKE ‘要搜索的关键字’

2,如何实现文章阅读总数的统计?

答:需要将所有符合要求的列作一次加法运算,使用GetExecuteScalar的统计功能就可以实现了,示例:double d1=(double)GetExecuteScalar(“SELECT SUM(要统计的列名) FROM 表名1 WHERE 条件”,2);

3,我如何开发论坛,或是商城?

答:论坛的功能几乎跟新闻系统一样的,你只要再加一个回复功能。提示:在原新闻表中新建一列,0代表主贴,大于0的数,则代表此贴是跟贴、所要跟贴的主贴ID是XX。商城的购物车,事实上就是使用Session将购买内容暂存,最后结账时一次性插入数据库。

4,在开发论坛时,读取贴子的同时我还要显示用户的信息,得同时读取两个表,如何办?

答:可用GetDataSet或CReader实现,因为这只是数据库的读取。关键还是SQL语句的使用:SELECT * FROM 新闻表,用户表 WHERE 新闻表.发贴者姓名=用户表.用户注册名

5,我想让最新的文章排在最上面,如何办?

答:可用GetDataSet或CReader实现,因为这只是数据库的读取。关键是SQL语句中的ORDER BY的ASC(升序)或DESC(降序)的使用。示例:SELECT * FROM 表名1 WHERE 条件 ORDER BY 时间列 DESC6,如何防止黑客的SQL注入? (严重程序:极高)

答:最基本的要过滤“ ’ ”符号,这样可以避免黑客构造SQL语句。如本新闻系统的第16节,用户登陆时,要先将TextBox1.Text.Replace(“’”,””)一次,再执行SQL语句。还有插入数据时,也同样要使用Replace过滤。

7,要实现数据库一键切换功能,要注意什么?

答:Access与SQL Server的SQL语句事实上还是一些差别的。比如删除语句,在Access中,可以使用DELETE * FROM 也可以用DELETE FROM ,而SQL Server 只能使用DELETE FROM 。另外,在数据库数据切换时,原数据的默认值属性均会丢失。所以,要实现数据库一键切换,要注意两点:1,使用共用的SQL语句;2,尽量避免使用默认值(如自动编号,改用GUID编码)。



HTML:

bgcolor属性,使得页面的背景色成为红色:就像这样:
border这个属性,将一个表格设成一个无边框的表格。如下:


在HTML里用

划分段落。通过使用
这个Tag,可以在不新建段落的情况下换行, 注释可以写在之间。浏览器是忽略注释的,你不会在HTML正文中看到你的注释。
常用文本格式Tag
Tag Tag说明
粗体bold
斜体italic
文字当中划线表示删除
文字下

划线表示插入
下标
上标

缩进表示引用
 保留空格和换行 
表示计算机代码,等宽字体

在网页中增加空格,你可以使用 表示空格。
最常用的字符实体(Character Entities)
显示结果 说明 Entity Name Entity Number
显示一个空格    
< 小于 < <
> 大于 > >
& &符号 & &
" 双引号 " "


其他常用的字符实体(Character Entities)
显示结果 说明 Entity Name Entity Number
? 版权 © ©
? 注册商标 ® ®
× 乘号 × ×
÷ 除号 ÷ ÷


a和href属性:
HTML用来表示超链接,英文叫anchor。
可以指向任何一个文件源:一个HTML网页,一个图片,一个影视文件等。用法如下:
链接的显示文字
点击当中的内容,即可打开一个链接文件,href属性则表示这个链接文件的路径。
比如链接到https://www.360docs.net/doc/6b11221059.html,/html站点首页,就可以这样表示:
站长网 站长学院https://www.360docs.net/doc/6b11221059.html,/html首页

target属性:
使用target属性,可以在一个新窗口里打开链接文件。
站长网 站长学院https://www.360docs.net/doc/6b11221059.html,/html首页

title属性:
使用 title 属性,可以让鼠标悬停在超链接上的时候,显示该超链接的文字注释。
站长网 站长学院网站
如果希望注释多行显示,可以使用 作为换行符。
站长网 站长学院网站

name属性:
使用name属性,可以跳转到一个文件的指定部位。
使用name属性,要设置一对。一是设定name的名称,二是设定一个href指向这个name:
参见第一章
第一章
name属性通常用于创建一个大文件的章节目录(table of contents)。每个章节都建立一个链接,放在文件的开始处,每个章节的开头都设置Name属性。当用户点击某个章节的链接时,这个章节的内容就显示在最上面。
如果浏览器不能找到Name指定的部分,则显示文章开头,不报错。

链接到email地址:
在网站中,你经常会看到“联系我们”的链接,一点击这个链接,就会触发你的邮件客户端,比如Outlook Express,然后显示一个新建mail的窗口。用可以实现这样的功能。
联系新浪
HTML有2种路径的写法:相对路径和绝对路径。

HTML相对路径(Relative Path)
同一个目录的文件引用:
如果源文件和引用文件在同一个目录里,直接写引用文件名即可。
我们现在建一个源文件i

nfo.html,在info.html里要引用index.html文件作为超链接。
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\index.html
在info.html加入index.html超链接的代码应该这样写:
index.html

如何表示上级目录:
../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以此类推。
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
在info.html加入index.html超链接的代码应该这样写:
index.html
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\index.html
在info.html加入index.html超链接的代码应该这样写:
index.html
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\wowstory\index.html
在info.html加入index.html超链接的代码应该这样写:
index.html

如何表示下级目录:
引用下级目录的文件,直接写下级目录文件的路径即可。
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\html\index.html
在info.html加入index.html超链接的代码应该这样写:
index.html
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\html\tutorials\index.html
在info.html加入index.html超链接的代码应该这样写:
index.html
HTML绝对路径(Absolute Path)
HTML绝对路径(absolute path)指带域名的文件的完整路径。
假设你注册了域名https://www.360docs.net/doc/6b11221059.html,/html,并申请了虚拟主机,你的虚拟主机提供商会给你一个目录,比如www,这个www就是你网站的根目录。
假设你在www根目录下放了一个文件index.html,这个文件的绝对路径就是: https://www.360docs.net/doc/6b11221059.html,/html。
假设你在www根目录下建了一个目录叫html_tutorials,然后在该目录下放了一个文件index.html,这个文件的绝对路径就是https://www.360docs.net/doc/6b11221059.html,/html/html_tutorials/index.html。


HTML表格用

表示。一个表格可以分成很多行(row),用表示;每行又可以分成很多单元格(cell),用之间没有内容,那么这个单元格的

边界是不会被显示出来的,尽管整个表格已设置边界值。要显示这个单元格的边界,可以插入一个 空格符。

表示。
这三个Tag是创建表格最常用的Tag。border属性在缺省情况下,如果不设置表格的边界,表格是不显示边界的。要显示表格的边界,可使用border这个属性。表格的表头
来表示表格的表头,表头的字是粗体显示的。空的单元格:如果表格的单元格
在一个表格上加上标题。用colspan,rowspan设置多列或者多行的单元格。用cellpadding这个属性设置单元格内容与单元格边界之间的距离。用cellspacing这个属性设置单元格之间的距离.
用bgcolor属性设置表格的背景颜色,用background属性为表格添加背景图片。用bgcolor属性设置单元格的背景颜色,用background属性为单元格添加背景图片。用align属性设置单元格的对齐方式。

使用框架(Frame),你可以在浏览器窗口同时显示多个网页。每个Frame里设定一个网页,每个Frame里的网页相互独立。
Frameset:
决定如何划分Frame。有cols属性和rows属性。使用cols属性,表示按列分布Frame;使用rows属性,表示按行分布Frame。

Frame:
用这个Tag设定网页。里有src属性,src值就是网页的路径和文件名。
下面的代码的目的是:将Frameset分成2列,第一列25%,表示第一列的宽度是窗口宽度的25%;第二列75%,表示第一列的宽度是窗口宽度的75%。第一列中显示a.html,第二列中显示b.html。





Iframe:
Iframe是Inline Frame的意思,用可以将Frame置于一个HTML文件内。


使用Noresize属性可以确保Frame的大小。如果不使用noresize属性,你可以用鼠标移动Frame的边界,来改变Frame的大小,如果设置了noresize属性,就不能移动边界了。

Frame用于导航:
这个例子演示如何建立一个用于导航的Frame。这个导航Frame包含一个HTML,这个HTML(代码如下)包含了一个网页列表。点击网页列表中的任何一项,就会在第二个Frame中显示点击中的网页。


humorlist.html


笑话一


笑话二


笑话三







这个例子显示如何在一个HTML文件里用iframe嵌入一个网页。


用 IFRAME 可以在HTML文件里显示另一个网页。


这个 HTML 文档中使用 IFRAME 来显示另外一个叫Frame_a.html 的网页。



/body>


HTML有三种列表形式:排序列表(Ordered List);不排序列表(Unordered List);定义列表(Definition List)。
排序列表(Ordered List)
排序列表中,每个列表项前标有数字,表示顺序。
排序列

表由

    开始,每个列表项由
  1. 开始。


    一个排序列表(Ordered List):



    1. 站长网 站长学院之网页课程

    2. 站长网 站长学院之网页代码

    3. 站长网 站长学院之魔兽世界






    不排序列表(Unordered List)
    不排序列表不用数字标记每个列表项,而采用一个符号标志每个列表项,比如圆黑点。
    不排序列表由