一、B/S和C/S

1、C/S

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

工作模式:

2、B/S

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

工作模式:

二、ASP开发模式

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

(1).aspx文件

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

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

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

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

(2).html文件

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

例子2、连接数据库,在浏览器上用表的形式显示出链接的表

<%@ 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#代码  %>
      ★<%=   %>等号后面返回一个值

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

三、ASP.NET

ASP.NET 是 .net开发网站应用程序的技术总称,包含WebForm 和 MVC 两个技术方法

WebForm类似于WinForm,可视化操作;

MVC类似于Java,多用代码操作。

:在使用VS调试HTML文件时,除非使用断点测试C#代码,不需要使用启动,可以在HTML代码上右键点击,选择在浏览器中查看即可。

webform开发方式: 

  xml - 可扩展的标记语言

  HTML - 超文本标记语言

  新建:

    在VS中新建,这里不是选择项目了,而是选择网站

  运行: 

    点击启动按钮:

    好处:可以卡断点
    弊端:启动特别慢

    在html上右键,在浏览器中查看:

    好处:启动特别快
    弊端:无法卡断点

四、事件委托写法:

  在page_load事件中 
  Button1.Click += Button1_Click;//添加按钮

  注意:http具有无状态性,也就是当每一次提交导致页面刷新,或者用户自己刷新,都会重新打开一个新的页面,新页面不管跟之前页面是否一样,都没

  有任何关系。

  所以,如果只是想在页面第一次加载时才执行某些代码,需要IsPostBack属性:返回bool类型,是否是因为提交而加载,为false时是第一次加载页 

  面  

  if (IsPostBack == false)
  {
       load事件中95%的代码都要写在这里面,委托点击事件除外!
  }

三层结构:

  web中三层结构比较清晰

  界面层就是HTML、CSS、JS代码

  业务逻辑层就是C#代码

  数据访问层就是ado.net

HTML表单元素复习:

1、文本类

文本框:<input type="text" name="" id="" value=""/>

密码框:<input type="password" name="" id="" value=""/>

文本框:<textaarea name="" id="" cols=""(字符多少)  rows=""(几行高)></>textarea>

隐藏域:<input type="hidden" name="" id="" value=""/>

2、按钮类

提交按钮:<input type="submit" name="" id="" disable="disable" value=""/>点击后转到form内的提交服务器地址

重置按钮:<input type="reset" name="" id="" disable="disable" value=""/>

普通按钮:<input type="button" name="" id="" disable="disable" value=""/>

图片按钮:<input type="image" name="" id="" disable="disable" value="" src="图片地址"/>

3、选择类

单选按钮组:<input type="radio" name="" id="" checked="checked" value=""/>

name的值用来分组;value的值看不见,用来提交给程序;checked,设置默认选项

复选框组:<input type="checkbox" name="" id="" checked="checked" value=""/>

文件上传:<input type="file" name="" id="">

<label for=""></label>

<label>标签为input元素定义标注(标记)。

label元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在label元素内点击文本,就会触发此控件。就是说,当用户选择该  标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<label>标签的for属性应当与相关元素的id属性相同

下拉列表框:<select name =""  id=""  size=""  multiple="multiple">   ------size=1时,为菜单;>1时,为列表;multiple为多选。

<option value="值">内容1</option>

<option value="值"  selected="selected">内容2</option>------seleted,设为默认

<option value="值">内容3</option>

</select>

后注:1、控件属性:

●Label - BackColor 等等 最后都会变成html里面的东西

●控件最后都会变成 HTML元素

●界面,布局样式都依然使用HTML+CSS 特殊的数据交互需要控件来替代

●含有 runat="server" 属性的元素为控件

2、三张图告诉你Web工作原理(.NET同理,将图片中的.php文件变为.aspx文件即可)

(1) 服务器不带应用程序和数据库,直接请求HTML文件

(2)服务器带应用程序

(3)服务器带应用程序和数据库

3、IIS安装

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

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

WebForm——IIS服务器、开发方式和简单基础的更多相关文章

  1. WebForm(一)——IIS服务器、开发方式和简单基础

    一.B/S和C/S 1.C/S C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据 ...

  2. WebForm ASP开发方式、 IIS服务器以及WebForm开发基础

    网页端 B/S两种:(ASP.NET  --网站应用开发技术) WebForm:  微软最先出现的网站开发技术 MVC:  后来开发,为了让java.PHP转过来的开发人员更容易接受使用 客户端 C/ ...

  3. Visual Studio写的项目在 IIS 服务器上运行的两种简单方法

    首先需要PC上开启了IIS服务,相关方法网上很多,也很简单 第一种:直接在项目中操作 1.创建一个项目,然后右击选中项目,右击,单击属性,打开项目属性标签页面 如图,选择Web标签,在服务器栏目中选中 ...

  4. IIS服务器简单搭建

     概况 系统:WIN10企业版 开发工具:VS2013 - VS2017 IIS版本:IIS6.0 安装 安装步骤如图: 这里需要注意一点信息服务器下默认web管理工具只有iis控制台勾上了,也就意味 ...

  5. ASP.NET执行模型之IIS服务器处理流程

    之前在网上看过很多对这方面的讲解,但个人觉得看下来过于 "深奥",不容易理解,所以想用更简单的方式进行阐述,便于理解. 本次我们重点分析用户请求到页面呈现过程中Web服务器的处理过 ...

  6. 301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云)

    欢迎来到重庆SEO俱乐部:搜索引擎优化学习交流QQ群224306761. 承接:seo优化.网站建设.论坛搭建.博客制作.全网营销 博主可接:百度百家.今日头条.一点资讯等软文发布,有需要请联系PE! ...

  7. 第27篇 重复造轮子---模拟IIS服务器

    在写程序的时候,重复造轮子是程序员的一个大忌,很多人对重复造轮子持有反对的态度,但是我觉得这个造轮子的过程,是对于现有的知识的一个深入的探索的过程,虽然我们不可能把轮子造的那么的完善,对于现在有的东西 ...

  8. 用C写一个web服务器(一) 基础功能

    .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...

  9. 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑心中会激动一番(或许这是判断是否是一个标准阿猿的标准吧)! 首先自己从宏观把控一下,通过上网科普自 ...

随机推荐

  1. 浏览器-04 WebKit 渲染2

    渲染主循环(main loop)和requestAnimationFrame requestAnimationFrame 使用requestAnimationFrame而非setTimeout/set ...

  2. java调用mysql服务做备份与恢复

    首先添加mysql的bin到环境变量,这样可以简写部分命令,并且做到不依赖系统mysql的具体安装路径. 重启计算机可以让添加的环境变量在java代码中调用时生效.(cmd中生效但java中调用没有生 ...

  3. poj1236Network of Schools Tarjan裸题

    其实就是手打了个Tarjan的模板 输出的时候注意是入度为0的点的个数和max(入度0的个数,出度0的个数),在n=1时特判为0即可 ——以后图论要渐渐模板化,方便使用 #include <cs ...

  4. Nginx日常操作和配置

    安装位置:/usr/local/nginx配置目录:/usr/local/nginx/conf配置文件:/usr/local/nginx/conf/nginx.conf启动命令:/usr/local/ ...

  5. android4.4源码下载简介

    1. $sudo apt-get install git-core curl2. mkdir ~/bin PATH=~/bin:$PATH3. curl http://commondatastorag ...

  6. wordexpress

    登陆数据库:mysql -uroot -p 创建数据库:CREATE DATABASE wordpress; 创建数据库用户:CREATE USER wordpress@localhost IDENT ...

  7. 11.static关键字

    1.用static修饰的方法,直接用类调用 2.static修饰的方法只能调用static方法,不能调用非  static属性和方法 ①因为static属性和方法在类没有实例化的时候调用 ②因为普通属 ...

  8. 00 LabVIEW中类的动态类型处理

    1.父类使用自己的Method,连线默认为父类自己的控件 2.如果子类没有重写父类的Method,则子类使用父类方法时,直接创建出来即自己的数据类型   3.如果子类重写了父类的Method,则子类使 ...

  9. 错误Batch update returned unexpected row count from update [0]; actual row count: 0;

    参考:http://blog.csdn.net/ssyan/article/details/7471343 也是出现类似问题,在前台页面的隐藏域中判断id是否为null,而没有去判断是否为空字符串. ...

  10. JS动态引入js,CSS——动态创建script/link/style标签

    一.动态创建link方式 我们可以使用link的方式.如下代码所示. 二.动态创建style方式 但是,这样的话,需要加载整个css文件,但是那样有可能浪费一个http请求并占用一个服务器请求数,并等 ...