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" />
   
<asp:Button ID="btnShoCart" runat="server" Text="显示购物车信息" OnClick="btnShoCart_Click" />
   
<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的练习完成!!!!
代码较为简单,理解其中的过程!!!