一、WebForm 运行流程
(1)需要访问数据库
用户--IIS服务器--.net Framwork--Sqlserver--数据处理--IIS服务器--用户
(2)显示HTML页面
用户--IIS服务器--用户
二、用文本文档编写代码编,写完成后将后缀改为HTML或ASPX格式
(1)HTML格式
使用html编写代码
(2)ASPX格式
使用c#和html编写代码
使用c#语言时:
<%@ %>声明语言或引用命名空间<%@ Language="c#"%><%@ Import NameSpace="System.Data.SqlClient"%>
<%= %>只能放c#代码
<% %>一个字段或一个变量<%=dr[0].ToString() %>
三、 webForm 与 winForm
(1)WEB端目的:
用户通过浏览器,访问服务器, 服务器将所有的C#代码及数据库数据执行完毕后,
将结果变为html代码返回给用户浏览器
(2)客户端功能代码执行位置:用户电脑上执行
Web端功能代码执行位置:服务器上执行
(3)webForm需要IIS安装
1)安装:控制面板--程序或功能--打开或关闭windows功能--Internet信息服务(打上勾)--确定
2)让vs和IIS相互认识
vs:vs2012--Visual Studio Tools--VS2012 x64/x86 兼容工具命令提示(右键管理员启动)--出现路径后加上aspnet_regiis -i
四、启动状态
1 直接启动 出现提示框确定就可以
优点:可以卡断点 ;缺点:慢;
2 在HTML代码处右键--在浏览器中查看
优点:快;修改后保存可直接刷新显示。
3 事件的委托写法(位置构造函数中)
控件.事件+= 按两下Tab
五、HTTP无状态性
1 定义:一个浏览者发出的请求都是由实现了IHttpHandler接口的对象进行响应,由于下次访问不一定还是上次那个对象进行响应,
上次响应完毕对象可能已经被销毁了,写的类变量值早就不存在了。所以,Http协议是无状态的,服务器不记得上次给了浏览器什么。
无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览器后,会关闭当前Socket连接。而且服务器会
在处理页面完毕后销毁页面对象。
http协议是无状态的,不会记住上次和网页“发生了什么”。服务器不记得上次给了浏览器什么,浏览器需要记住这些值(input 就
记在value中,对于其他值就放在隐藏字段中,比如viewstate),下次再提交的时候再发到服务器,从而实现交互的效果!
2 控件默认显示的内容
在构造函数中
if(IsPostBack==false)//页面第一次加载时显示
{}
3 事件的委托事件不能写入
六、数据库连接
(1)App_Code:右键--添加--类--确定--自动生成App_Code;
(2)实体类与数据访问类没有命名空间
七、三层开发
1界面层:HTML+CSS+JS
2业务逻辑层:c#代码
3数据访问层:APO.NET
注意:用CSS+JS操作控件属性
界面上的任何效果和内容都要使用纯CSS和JS来制作样式和特效