一、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="1">
<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[0].ToString()%></td>
<td><%=dr[1].ToString()%></td>
<td><%=dr[2].ToString()%></td>
<td><%=dr[3].ToString()%></td>
<td><%=dr[4].ToString()%></td>
<td><%=dr[5].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来制作样式和特效

webfrrm基础的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. dynamic与匿名对象

    用dynamic接收匿名对象很方便,因为不需要去定义model了,但是也有一个弊端,就是匿名对象的作用范围是internal的,也就是只能存在于当前程序域,所以用dynimic跨程序域去接收一个匿名对 ...

  2. 一看便知_linux安装redis和调试

          rpm包下载地址:     http://vault.centos.org/6.3/os/x86_64/Packages/1.进入目录,解压文件 # tar  -zxvf  redis-3 ...

  3. 关于APP程序员泡沫经济

    这些年,移动互联网非常火,火到掀起学习iOS.安卓以及H5的热潮.有人将这些新技术作为自己的实力补充,增加竞争力:更多的人将它们作为主业,专职做移动开发.但是,即便有移动开发人员不断涌入,对整个行业来 ...

  4. xcode相关配置

    Xcode将全部供应配置文件(包括用户手动下载安装的和Xcode自动创建的Team Provisioning Profile)放在目录~/Library/MobileDevice/Provisioni ...

  5. Mac上配置Privoxy

    此文档适用于走Shadowsocks代理,想利用Privoxy将主机作为代理服务器的用户. 0.安装完Privoxy后,打开终端命令. 1.打开Privoxy的配置文件config: cd /usr/ ...

  6. 关于win10连接不上ftp的解决方案

    win10系统连接ftp服务器的时候,会先出现假死,比如: 然后 就会报错: 面对这些问题:我们不需要关闭放火请,卸载杀毒软件等等无用的操作,只需要一步就能搞定: 把ftp:// 换成 file:\\ ...

  7. rxjava源码分析

    RXjava响应式编程 此文作者大暴雨原创,转载请注明出处. 如果线程的知识不是很丰富,请先查看     rxjava源码中的线程知识  一文 rxjava总结就是:异步实现主要是通过扩展观察者模式 ...

  8. python 安装MySQLdb mysql_config not fount

    缺少 libmysqlclient-dev 应该是安装MySQL的锅. 资料:http://www.cnblogs.com/xiazh/archive/2012/12/12/2814289.html ...

  9. PhpStorm配置svn时提示需要证书:authentication required的解决方法,总是弹出

    总是弹出下面的框框,每次输入svn账号密码,还是不行. 于是上网查了半天,需要安装和配置SlikSvn.于是就下载安装了. 完了还是不行,就尝试着配置. 上面和下面的加上,svn.exe的地址. 再次 ...

  10. Nginx的第一个模块-HelloWorld

    麻雀虽小,五脏俱全,小小的Hello World盛行于程序世界,就在于其代码虽短,但要真正运行起来,需要我们略通基本语法,稍懂编译运行环境,知晓操作过程,最后,还有一颗持之以恒,不怕折腾的心.前一阵子 ...