一,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#代码动态生成以下几行

  1. <div>
  2. <h1>人员显示</h1>
  3. <table width="100%" border="1" cellpadding="5" cellspacing="1">
  4. <tr bgcolor="blue" align="center" style="color:white;font-weight:bold">
  5. <td >代号</td>
  6. <td >姓名</td>
  7. <td >性别</td>
  8. <td >民族</td>
  9. <td >生日</td>
  10. </tr>
  11. <%List<InfoData> list=new InfoDA().Select();
  12. foreach (InfoData data in list)
  13. {
  14. %>
  15. <tr align="center" bgcolor="green">
  16. <td><%=data.Code %></td>
  17. <td><%=data.Name %></td>
  18. <td><%=(data.Sex?"男":"女") %></td>
  19. <td><%=data.NationData.Name %></td>
  20. <td><%=data.Birthday %></td>
  21. </tr>
  22. <%} %>
  23. </table>
  24. </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,登录界面

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

II,显示页面

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (Session["user"] == null)
  4. {
  5. Response.Redirect("Default2.aspx");
  6. }
  7.  
  8. if (Session["test"] == null)
  9. {
  10. Session["test"] = DateTime.Now.ToString();
  11. }
  12.  
  13. Label1.Text =" 欢迎您:"+Session["user"].ToString()+"<br/>";
  14.  
  15. Label1.Text +=Session.SessionID+"&nbsp;" + Session["test"].ToString();
  16. }

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

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

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

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

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (Application["count"] == null)
  4. {
  5. Application["count"] = 0;
  6. }
  7. Application["count"] = (int)Application["count"] + 1;
  8.  
  9. Label1.Text = Application["count"].ToString();
  10. }

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

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

设置Cookie

//新建Cookie对象
HttpCookie cookie_name = new HttpCookie("uid");
//赋值
cookie_name.Value = uid;
//写入到Cookie里面
Response.AppendCookie(cookie_name);

在使用界面:读取Cookie
Request.Cookies["uid"].Value.ToString();

 5.QueryString传值

在源页面写:Response.Redirect("Main.aspx?(要打开的页面)uid="+uid+"&pwd="+pwd(要传输过去的的数值));//打开新页面时候把数值传过去
在目标页面:Request["uid"].ToString();

7.跳转页面方式:

1.Response.Redirect("http://www.baidu.com");重定向,可以跳转任何网页
2.Server.Transfer("Main.aspx");只能跳转该网站根目录下的网站

webform基础介绍及页面传值(session,cookie)、跳转页面的更多相关文章

  1. 跨页面传值之Cookie

    3.客户端再次访问某站点 浏览器将携带Cookie信息的指令,将获得的信息参与编译. 4.将含有Cookie信息参与编译的页面发回给浏览器 其中如果有相关的设置Cookie的指令.将再次通过浏览器,写 ...

  2. js页面传值,cookie

    // 获取页面穿值 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + " ...

  3. Asp.Net里关于Session过期跳转页面的一些小技巧

    这里算是自己的个人随笔吧,仅供参考使用,后续有更好的方法再做补充 之前在Aspx页面里面,在Session过期的时候我经常会使用 Server.Transfer("b.aspx") ...

  4. java web session过期 跳转页面没有跳出frame的问题

    对于frame页面框架的java web项目,如果session过期执行跳转操作时,只在一个frame中(例如center frame)跳转到设置的login页面了,为了能直接跳转到最初的登录页面,就 ...

  5. ajax提交session超时跳转页面使用全局的方法来处理

    来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在 ...

  6. UpdatePanel中点击按钮Session过期跳转页面相关问题:Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器收到的消息

    使用 Response.Write("<script language=javascript>window.location.href='Login.aspx';</scr ...

  7. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

  8. 向jsp页面传值时出现乱码

    在一个html页面中用表单向jsp页面传值: 这是html页面 <html> <head> <title>MyBeans.html</title> &l ...

  9. 提示框,对话框,路由跳转页面,跑马灯,幻灯片及list组件的应用

    目录: 主页面的js业务逻辑层 主页面视图层 主页面css属性设置 跳转页面一的js业务逻辑层 跳转页面一的视图层 跳转页面二的视图层 跳转页面三的js业务逻辑层 跳转页面三的视图层 跳转页面三的cs ...

随机推荐

  1. Android 开发之Matrix图片处理类的使用

    在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型: 1.Translate————平移变换 2.Scale————缩放变换 ...

  2. Windows 技巧

    1.反选 快捷键: Alt+E+I 2. windows7 以上 cmd命令 切换目录 F:\>cd /d c:\windowsc:\Windows> 3.

  3. php环境配置优化

    Php相关配置 – 基础 max_execution_time = 30 max_input_time = 60 memory_limit = 128 Mmax_input_vars = 1000 r ...

  4. HDU 3501 Calculation 2

    题目大意:求小于n的与n不互质的数的和. 题解:首先欧拉函数可以求出小于n的与n互质的数的个数,然后我们可以发现这样一个性质,当x与n互质时,n-x与n互质,那么所有小于n与n互质的数总是可以两两配对 ...

  5. 【C/C++多线程编程之九】pthread读写锁

    多线程编程之读写锁      Pthread是 POSIX threads 的简称,是POSIX的线程标准.         pthread读写锁把对共享资源的訪问者分为读者和写者,读者仅仅对共享资源 ...

  6. java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制

    package com.rgy.Test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; ...

  7. ASP.NET动态的网页增删查改

    动态页面的增删查改,不多说了,直接上代码 跟前面的一般处理程序一样我上用的同一套三层,只是UI层的东西不一样,在纠结着要不要重新在上一次以前上过的代码: 纠结来纠结去,最后我觉得还上上吧,毕竟不上为我 ...

  8. iOS:ABPeoplePickerNavigationController系统通讯录使用

    昨天因项目需求要访问系统通讯录获取电话号码,于是乎从一无所知,开始倒腾,倒腾了一下午,总算了弄好了.写这边博客是为了记录一下,自己下一次弄的时候就别在出错了.同时,有和我一样的菜鸟能够避免走一下弯路. ...

  9. 如何最简单的优化MySql

    1.创建索引,一定要根据实际情况来创建,如果是连接表查询,如一个主帐号连接多个子帐号,可以考虑两个或三个以上的多索引: 2.合理利用时间排序,由于大多数表格用时间来排序,数据量相当大的时候,在时间列上 ...

  10. SERVLET API 中 forward() 与 redirect()的区别?

    答:前者仅是容器中控制权的转向, 在客户端浏览器地址栏中不会显示出转向后的地址: 后者则是完全的跳转, 浏览器将会得到跳转的地址, 并重新发送请求链接. 这样, 从浏览器的地址栏中可以看到跳转后的链接 ...