webform基础介绍

一,IIS

1.首先知道IIS是个什么东西:它是web服务器软件,安装在服务器上,接受客户端发来的请求,并传送给服务器端,然后响应请求并送回给客户端。类似于饭店里的服务员。

2.会安装IIS——控制面板-程序-打开或关闭windows功能

3.会进行基本的设置:安装完成后,打开控制面板-管理工具-IIS

应用程序池——设置.Net4.0框架

默认目录:C:\inetpub目录下           虚拟目录:在别的盘可以设置虚拟目录

二,建立.Net的Web项目

1.文件-新建-网站

在文件位置可选择文件系统和HTTP

HTTP:是用IIS建立和运行项目

文件系统:使用VS自带的IIS Express建立和运行项目,一般默认用此法创建

2.进入界面后

App_Code:系统文件夹。所有的.cs单独的类文件要放在App_Code文件夹中。(即所有的数据访问类data和DA文件)

Web.Config配置文件。程序配置内容放在里面,通常用来放链接字符串。

页面文件:.aspx(设计界面)和.aspx.cs(源代码)两部分,在编译或运行的时候会把二者自动合成一个类。

3.案例:在页面上动态显示数据库信息

1.在div中新建一个表格,添加第一行数据

2.利用C#代码动态生成以下几行

 <div>
    <h1>人员显示</h1>
        <table width="100%" border="1" cellpadding="5" cellspacing="1">
            <tr bgcolor="blue" align="center" style="color:white;font-weight:bold">
                <td >代号</td>
                <td >姓名</td>
                <td >性别</td>
                <td >民族</td>
                <td >生日</td>
            </tr>
            <%List<InfoData> list=new InfoDA().Select();
              foreach (InfoData data in list)
              {
               %>
            <tr align="center" bgcolor="green">
                <td><%=data.Code %></td>
                 <td><%=data.Name %></td>
                 <td><%=(data.Sex?"男":"女") %></td>
                 <td><%=data.NationData.Name %></td>
                 <td><%=data.Birthday %></td>
            </tr>
            <%} %>
        </table>
    </div>

注意:<%%>内不需要输入数据,里面存放要执行的C#代码

     <%=%>内需要输入数据,里面存放需要显示的数据

说明:在aspx.cs中导入命名空间,使用using XXXXX导入;。在aspx中导入命名空间使用<%@ Import Namespace="XXXXX" %>导入。

三,web下常用的五个对象

1.Request——获取请求

string s=Request[""];   //中括号内填写地址栏中?后面名值对中的名或者是表单元素的name名

string d1 = Request["TextBox1"];

2.Response——响应请求

Response.Write("字符串"); //服务器的程序代码向页面输入一串字符。

Response.Redirect("重定向页面");  //重定向页面到指定页面

注意:所有的Web程序都是无状态的。即本页面与下一个打开的子页面或者上一个父页面都没有关系,不会传值

原因是它们使用的HTTP协议本身就是无状态的

表现:每个返回到客户的页面,都与之前或之后的页面不相关,无法访问之前页面的数据,或为之后页面送数据。

解决:在服务端或客户端通过使用几个对象来专门存储相关状态的数据。

在服务端存储状态的对象:Session和Application

在客户端存储状态的对象:Cookie

3.Session:每个独立的浏览器都会创建一个独立的Session,不是一台电脑一个Session

Session存储的数据在当前会话中共享,关闭会话即消失

特性:Session在20分钟之内如果没有会话操作,则会自动释放

语法:(1)用Session存值:Session["key名"] = 值;      值,不只是个字符串,可以是对象。

(2)从Session取值:类型 变量名 = (强制转换的类型名)Session["key名"]

(3)释放Session:释放某个Session:Session["key名"]=null;

          释放所有Session:Session.clear();

          自动释放:20分钟

4.案例

登录界面,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间

I,登录界面

 protected void Button1_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
        {
            Session["user"] = TextBox1.Text;
            Response.Redirect("Default.aspx");
        }
    }

II,显示页面

protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["user"] == null)
        {
            Response.Redirect("Default2.aspx");
        }

        if (Session["test"] == null)
        {
            Session["test"] = DateTime.Now.ToString();
        }

        Label1.Text =" 欢迎您:"+Session["user"].ToString()+"<br/>";

        Label1.Text +=Session.SessionID+"&nbsp;" + Session["test"].ToString();
    }

4.Application:所有的会话共享一个Application空间,任何一个人改变Application的内容,其他人都会发现被改变了。Application中的内容不会被自动释放

(1)用Application存值:Application["key名"] = 值; 值,不只是个字符串,可以是对象。
(2)用Application取值:类型 变量名 = (强制转换的类型名)Application["key名"]
(3)判断Application中是否存有某个值
if(Application[“key名”] == null)
{

}
(4)释放Application:Application["key名"] = null;

案例:每次访问页面都会累加访问次数

 protected void Page_Load(object sender, EventArgs e)
    {
        if (Application["count"] == null)
        {
            Application["count"] = 0;
        }
        Application["count"] = (int)Application["count"] + 1;

        Label1.Text = Application["count"].ToString();
    }

5.Cookie:保存在客户端内存或硬盘上

临时Cookie是存在浏览器内存中的,持久Cookie是存在电脑硬盘上浏览器相关的Cookie目录下的

设置Cookie
Response.Cookies["key名"].Expires = 过期时间。 
Response.Cookies["key名"].Value = 值。

读取Cookie
string s = Request.Cookies["key名"].ToString();

案例:设置Cookie登录(记住用户名,30天免登录)

 protected void Button2_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
        {
            if (CheckBox1.Checked == true)
            {
                Response.Cookies["user"].Expires = DateTime.Now.AddDays(30);
            }
            Response.Cookies["user"].Value = TextBox1.Text;

            Response.Redirect("Default5.aspx");
        }
    }

登陆成功后跳转页面,点击退出重新登录并清除Cookie

 protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["user"] == null)
        {
            Response.Redirect("Default2.aspx");
        }
        Label1.Text = Request.Cookies["user"].Value;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);//过期时间为昨天,即清除Cookie
        Response.Redirect("Default2.aspx");
    }

时间: 2024-08-27 02:16:13

webform基础介绍的相关文章

【简译】jQuery对象的奥秘:基础介绍

本文翻译自此文章 你有没有遇到过类似$(".cta").click(function(){})这样的JavaScript代码并且在想“$('#x')是什么”?如果这些对你想天书一样,请往下读.如果你认为这些代码不可能是真的,请浏览一些jQuery例子,他们都是这种结构. 这篇文章覆盖了像下面一样吓人的代码片段中涉及的关键概念.我们以一个长例子开始,这个长例子是基于一个让一个正方形运动的简单例子(a simple example of animating a square).你可能不需要

Zabbix 3.0 基础介绍 [一]

Zabbix 3.0 基础介绍 [一] zabbix 一.Zabbix介绍 zabbix 简介   Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利   zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案.   zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

【OpenGL】“我叫MT”纯手工3D动画制作之1——基础介绍

最近在家研习面经,温习基础,索性花些时间将本科期间完成的一些学习之作整理出来,分享之余顺便水点经验 其实这个事情起源于一门“计算机图形与动画(Computer Graphics & Animation)”的外方课程,当初的外籍教师Tony教的很认真,对于这门课自己也投入了非常多的时间.言归正传,这里先介绍一些涉及的技术,熟悉的同学请跳过哈~ A.几何物体建模 带阴影的后面我会介绍到的哦~ 加下划线的后面我后面会举栗子的哦~ B.涉及的图形学技术与应用 C.动画技术 参考文献 1.王汝传,张登银,

qt model/view 架构基础介绍之QTreeWidget

# -*- coding: utf-8 -*- # python:2.x #说明:QTreeWidget用于展示树型结构,也就是层次结构同前面说的 QListWidget 类似,这个类需要同另外一个辅助类 # QTreeWidgetItem 一起使用.不过,既然是提供方面的封装类,即便是看上去很复杂的树, # 在使用这个类的时候也是显得比较简单的 __author__ = 'Administrator' from PyQt4.QtGui import  * from PyQt4.Qt impor

qt model/view 架构基础介绍之QTableWidget

# -*- coding: utf-8 -*- # python:2.x #说明:QTreeWidget用于展示树型结构,也就是层次结构同前面说的 QListWidget 类似,这个类需要同另外一个辅助类 # QTreeWidgetItem 一起使用.不过,既然是提供方面的封装类,即便是看上去很复杂的树, # 在使用这个类的时候也是显得比较简单的 __author__ = 'Administrator' from PyQt4.QtGui import  * from PyQt4.Qt impor

Erlang基础 -- 介绍 -- Wordcount示例演示

在前两个blog中,已经说了Erlang的历史.应用场景.特点,这次主要演示一个Wordcount的示例,就是给定一个文本文件,统计这个文本文件中的单词以及该单词出现的次数. 今天和群友们讨论了一个问题,突然一下子就上升到哲学角度上了,装逼装大发了. PS:图片中有错别字,%s/财务和其他9个月/财务和其他9个人/g 不过真心想说的一点是,把Erlang系统,映射到现实中,很多奇葩问题,就能迎刃而解了.所以,在下面的简要设计中,我就尽可能的代入一下现实世界吧. 环境安装 mac 的话,用brew

qt model/view 架构基础介绍之QListWidget

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from PyQt4.Qt import * from PyQt4 import QtGui, QtCore from PyQt4.QtCore import * import sys # MVC是Model-View-Controller的简写,即模型-视图-控制器 #model/view框架将传统的mv模型分

Avaya Exrience Portal(AEP)基础介绍 二(四大组件总结)

什么是Avaya Exrience Portal(AEP)? 1:提供语音(或者多媒体)自动化用户体验的软件平台:  2:基于标准的VXML(定义了如何使用语音识别.语音合成.互联网访问.数据库访问.语音文件播放.DTMF输入等功能开发一个完整的语音应用系统.)和CCXML(它基于XML定义了一系列开放标准的呼叫控制API)的应用:  3:支持多媒体处理:  4:完全基于Web架构:  5:支持TTS文语转换和语音识别技术:     2)AEP包含的组件   EPM:AEP集成的管理,报表,监控

lvs基础介绍及实验演示

LVS基础介绍 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个开源的软件,可以基于软件的方法实现LINUX平台下的负载均衡,由章文嵩博士于1998年5月研发,是中国国内最早出现的自由软件项目之一. LVS集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服