WebForm(ASP开发方式,IIS服务器、WebForm开发基础)

时间:2022-12-28 14:43:41

一、B/S和C/S

1、C/S

C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。]

WinForm      WPF

2、B/S

B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。B/S架构的系统无须特别安装,只有Web浏览器即可。

ASP.NET - 网站应用程序开发技术
WebForm MVC

二、ASP开发模式

例子1:点菜:客人 - 用户

(1).aspx文件

要土豆丝 - 给IIS发送请求 ,IIS就相当于是服务员

通知厨房 - IIS把用户要想看到的ASPX告知.net Framwork框架

厨房炒菜 - .net框架将ASPX页面中的C#代码执行处理

仓库拿土豆- .net框架到SqlServer 中进行数据处理

喊服务员上菜 - .NET框架将处理好的页面给IIS,IIS返回给用户

(2).hrml文件

要头蒜 - html页面请求,IIS直接可以返回给用户,不需要经过.NET框架处理

<%@ language="C#" %>
<%@ Import NameSpace="System.Data.SqlClient" %>
<html>
<head></head>
<body>
<table border="">
<tr>
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
</tr>
<%
SqlConnection conn =new SqlConnection("server=.;database=lianxi;user=sa;pwd=123");
SqlCommand cmd=conn.CreateCommand();
cmd.CommandText="select * from Users";
conn.Open();
SqlDataReader dr=cmd.ExecuteReader();
{
%>
<tr>
<td><%=dr[].ToString()%></td>
<td><%=dr[].ToString()%></td>
<td><%=dr[].ToString()%></td>
<td><%=dr[].ToString()%></td>
<td><%=dr[].ToString()%></td>
<td><%=dr[].ToString()%></td>
</tr>
<%
}
conn.close();
%>
table
</body>
</html>

:★<%  c#代码  %>
      ★<%=   %>等号后面返回一个值

★<%@   %>用于声明语言或者引用命名空间

2、IIS安装

            (1).安装:控制面板→程序或功能→打开或关闭windows功能→Internet信息服务(打上勾)→确定

           (2).vs:Visual Studio Tools→VS2012 x64/x86 兼容工具命令提示(右键管理员启动)→出现路径后加上aspnet_regiis -

三、Webform

1.启动状态
点击启动运行,但是比较慢,相比较而言在html代码上右键,点击在浏览器中查看比较快,但是当我们需要卡断点时必须点击启动运行

2.事件的委托写法

在它的构造函数中,以button1为例:button1.Click+=然后再按两次 tab键

3.HTTP无状态性

每一次事件提交,都会将页面刷新,刷新就必走Load事件,进而出现重复绑定的情况

每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况
解决办法是写一个if语句,括号内写上IsPostBack == false,用来判断是不是第一次响应,95%的代码都写在里面,但是事件委托不能在写里面

4.数据库连接

与winform几乎没有区别,区别在于Webform的实体类、数据访问类没有命名空间,可以直接在代码中引用。

另外创建的类要放在App_Code文件夹中,一般不需要自己创建,建类时会有提示。

5.Webform的三层开发:

界面层:HTML+CSS+JS 
业务逻辑层:C#
数据访问层:ADO.NET

界面上的任何效果和内容都要使用纯CSS和JS来制作样式和特效