ASP.NET学习(一)

    科技2023-10-16  103

    1.ASP.NET常用对象

    如图要实现将文本框1的输入的信息填写完后,点击按钮,将信息显示在文本框2。若不进行验证,则当再次进行输入测试时,不能实现上述功能,文本框2 的信息一直为“请输入内容!”。

    因此要在pageLoad中进行首次的验证:

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)//首次加载 { //执行首次加载的操作 this.TextBox1.Text = "请输入内容!"; } else//回发 { //执行回发的操作 } } protected void CopyBtn_Click(object sender, EventArgs e) { this.TextBox2.Text = this.TextBox1.Text.Trim(); }

     

    2.Request和Response对象使用

    实现数据的传输:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default01.aspx.cs" Inherits="ASP.NET_1005.demo01.Default01" %> <!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"> <div> <a href="Default02.aspx?name=lisi&age=18">点击跳转到第二个页面</a><br/> <a href="Default02.aspx">浏览器版本信息</a><br/> <a href="Default02.aspx?r=1000">测试重定向</a> </div> </form> </body> </html>

    进行页面的参数传递:

    使用Request的两种方法均可,都可以获取到相应的信息。

    重定向测试:

    由default01.apsx——》defalut02.aspx——》defalut03.aspx

    defalut03.aspx进行参数接受:

     

    3.ViewSate对象使用

    如图要实现计数的功能,点击一次记一次数,如果没有进行验证是否为首次的话,则不能进行计数,该值为1。

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)//首次加载 { //count设置为0 ViewState["count"] = 0; } } // int count = 0; protected void btnMe_Click(object sender, EventArgs e) { //取值 int count = (int)ViewState["count"] ; //加1操作 count++; this.btnNum.Text = count.ToString(); //再次保存 ViewState["count"] = count; }

    使用ViewState进行将数据保存,它是以键值的形式进行存储的。

     

    4.Session使用

    通过一个小例子进行说明——用户需要登录后才可以将商品添加到购物车里,否则要先进行登录。并且将购物车信息保存在Session中。

    购物页面:

    <body> <form id="form1" runat="server"> <div> <asp:CheckBox ID="pdu1" runat="server" Text="adidasi运动鞋" /><br/> <asp:CheckBox ID="pdu2" runat="server" Text="peak老爹鞋" /><br /> <asp:CheckBox ID="pdu3" runat="server" Text="彪马运动服" /><br /> <asp:CheckBox ID="pdu4" runat="server" Text="宝格丽" /><br /> <asp:CheckBox ID="pdu5" runat="server" Text="香奈儿" /><br /> <asp:Button ID="btnAddCart" runat="server" Text="添加到购物车" OnClick="btnAddCart_Click" /> &emsp;&emsp;&emsp; <asp:Button ID="btnShoCart" runat="server" Text="显示购物车信息" OnClick="btnShoCart_Click" /> &emsp;&emsp;&emsp; <asp:Button ID="btnExit" runat="server" Text="退出登录" OnClick="btnExit_Click" /> <br/><br/> <asp:Literal ID="ItaMsg" runat="server"></asp:Literal> </div> </form> </body>

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List<string> cart = new List<string>(); Session["Cart"] = cart; } if (Session["CurrentUser"] != null) { this.ItaMsg.Text = "欢迎您:" + Session["CurrentUser"].ToString(); } else { this.ItaMsg.Text = "您还没有登录!"; } } //添加到购物车信息 protected void btnAddCart_Click(object sender, EventArgs e) { //首先判断用户是否登录 if (Session["CurrentUser"] == null) { Response.Redirect("UserLogin.aspx"); } else { foreach (Control item in form1.Controls) { if (item is CheckBox) { CheckBox ckb = (CheckBox)item; if (ckb.Checked) { ((List<string>)Session["Cart"]).Add(ckb.Text); } } } this.btnAddCart.Text = "添加成功!"; } } //显示购物车信息 protected void btnShoCart_Click(object sender, EventArgs e) { Response.Redirect("ShowCart.aspx"); } protected void btnExit_Click(object sender, EventArgs e) { Session.Abandon();//清除Sessoin this.ItaMsg.Text = "您还没有登录!"; }

    此处登录没有数据库信息,进行了简单模拟。

    商品显示页:

    至此Session的练习完成!!!!

    代码较为简单,理解其中的过程!!!

    Processed: 0.022, SQL: 8