web窗体的内置对象

内置对象:
1、Response - 响应请求对象
Response.Redirect("Default2.aspx"); //重定向
Response.Write("<script>window.open('Default2.aspx');</script>"); ---可以书写任何东西,直接输出出去

2、Request - 接收请求对象
Request["键"] - 放在等号右边,用来取值
服务器控件  是根据ID来作为键
表单元素     是根据name值来作为键


QueryString - 页面地址拼接数据
如:Default2.aspx?aaa=呵呵&bbb=嘿嘿&ccc=hoho

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(Request["aaa"]);
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;

    }

    void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("Default2.aspx?aaa="+TextBox1.Text);
        //Response.Write("呵呵");
        
    }
}
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        TextBox1.Text=Request["aaa"];
    }
}



1.后台Response.Redirect("Default2.aspx?key="+值);
2.Form表单会通过submit按钮自动提交数据,将数据提交给action设置的页面中去,method=“get”方式来提交

method 提交方式
action 目标页面

get提交方式

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default1.aspx.cs" Inherits="Default1" EnableViewStateMac="false" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" method="get" action="Default2.aspx" runat="server">
        <asp:TextBox ID="User" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="Pwd" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
        
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    
    }

 
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" EnableViewStateMac="false" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </form>
</body>
</html>
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        TextBox1.Text=Request["User"]+"+"+Request["Pwd"];
    }
}



post提交方式 - 直接数据提交方式
除了不在地址栏拼接数据,其它的没有任何区别
===================================================================
3、Session
就是一个临时保存数据的对象,保存在服务器
可以理解为容器,变量

可以存Object类型,一个连接为独立的一组,默认生命周期为20分钟,如果在这20分钟内重新进行数据提交或是页面刷新,都会重置这20分钟倒计时时间。

如果Session["键"]里面没有内容的时候,使用时会抛出异常,所以一定要在使用session的值之前判断此是否为空。

注意:Session不要过度使用,因为放的东西太大了,用户连接多了就会导致内存溢出,服务器崩溃;也不要不使用,会造成资源浪费,因为内存中的数据是最快速的;

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        密码:<asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="登录" /><asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    </form>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        if(TextBox1.Text.Trim()=="zhangsan"&&TextBox2.Text.Trim()=="123")
        {
        Session["username"] = TextBox1.Text;
        Response.Redirect("Default4.aspx");
        }
        else
        {
            Label1.Text = "用户名密码错误";
        }
    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
       这是session的主页面<br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default4 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["username"] != null)
        {
            Label1.Text = Session["username"] + ",欢迎登录!";
        }
        else
        {
            Response.Redirect("Default3.aspx");
        }
    }
}

4、cookie
临时保存数据的一个对象,保存在客户端
不要保存很重要的信息,因为会随时被用户删掉,有些程序会自动抓取用户电脑上的cookie信息,如果密码保存进去了,就会被抓取到

赋值:使用Response对象
1、Response.Cookies.Add(new HttpCookie("键", 值));

2、Response.Cookies["键"].Value = 值;

3、制作持久Cookie :
Response.Cookies["键"].Expires = DateTime.Now.AddDays(7);//设置7天后过期

取值:使用Request对象
Request.Cookies["UserName"].Value

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="登录" /><br />
        <asp:CheckBox ID="CheckBox1" runat="server"  Text="7天自动登录"/>
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default5 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        if(TextBox1.Text=="zhangsan"&&TextBox2.Text=="123")
        {
            Response.Cookies["username"].Value = TextBox1.Text;
            Response.Redirect("Default6.aspx");
            if(CheckBox1.Checked)
            {
                Response.Cookies["username"].Expires = DateTime.Now.AddDays(7);
            }
        }
        else
        {
            Label1.Text = "用户名密码错误!";
        }
    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx.cs" Inherits="Default6" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
      这是cookie的主页面<br />
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label><br />
        <asp:Button ID="Button1" runat="server" Text="退出" />

    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default6 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
        if (Request.Cookies["username"].Value!=null)
        {
        Label1.Text = Request.Cookies["username"].Value + ",欢迎登录";
        }
        else
        {
            Response.Redirect("Default5.aspx");
        }
    }

    void Button1_Click(object sender, EventArgs e)
    {
        Response.Cookies["username"].Expires = DateTime.Now.AddDays(-2);
        Response.Redirect("Default5.aspx");
    }
}

5、Appliction
临时保存数据的一个对象,保存在服务器端
全局变量
所有人访问的都是同一个对象
赋值:
Application["键"] = 值;
取值:
Application.Get("键")

 

转载于:https://www.cnblogs.com/fengsantianya/p/5681623.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值