傳送的值會顯示在瀏覽器之地址欄中
所以傳遞一個或多個安全性要求不高或是結構簡單之數值時,
可以使用這個方法,用QueryString變量接收值
QueryString傳值例子:
第一個網頁:
創建x.aspx的頁面
在前臺寫個超連接:
<a href="y.aspx?zhi=傳的值 ">鏈接地址傳送</a>
第二個網站:創建y.aspx的頁面
在後臺寫:
protected void Page_Load(object sender, EventArgs e)
{
string zhi = Request.QueryString["zhi"];//第一種QueryString傳值
Response.Write(zhi);
}
2.使用Application 對象變量Application對象所有用戶都有效。其常用之方法用Lock和UnLock。
x.aspx頁面前臺:
<form id="form1" runat="server">
<div>
名字:<asp:TextBox ID="NameTxt" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" text="Application上傳" OnClick="Button1_Click"/>
</div>
</form>
x.aspx頁面後臺:
protected void Button1_Click(object sender, EventArgs e)
{
Application["name"] = NameTxt.Text;//把值存進去
Response.Redirect("y.aspx");
}
y.aspx頁面後臺:private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();//把值取出來
Application.UnLock();
Response.Write(name);
}
3使用Form表單編輯
Form這個肯定是大家使用中最多的用法之一,是基於HTML,可作爲靜態頁面傳送數據而且數據量比較大,而且數據保密,
所以,在傳值比較多對收集起來的數據又需要保密的時候才用Form傳值是相當方便的。
x.aspx頁面前臺:
<form id="form1" runat="server">
<div>
名字:<asp:TextBox ID="NameTex" runat="server" ></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Form上傳" OnClick="Button1_Click" />
</div>
</form>
後臺:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<form name='submit1' method='post' action='y.aspx'>");//把值提交到y.aspx
Response.Write("<input id=\"myxi\" name=\"myxi\" type=\"hidden\" value=\"" + NameTex.Text+ "\"/>");//建一個隱藏字段設置name,id名字爲myxi,value值爲文本里面的值
Response.Write("</form>");
Response.Write("<script>");
Response.Write("document.submit1.submit()");//把剛剛form提交上去
Response.Write("</script>");
}
y.aspx頁面後臺:
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Request.Form["myxi"].ToString();
Response.Write(name);
}
4使用Session變量操作與Application類似,作用於用戶個人,所以,過量之存儲會導致服務器內存資源之耗盡。
x.aspx頁面前臺:
<form id="form1" runat="server">
<div>
名字:<asp:TextBox ID="NameTex" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Session上傳" OnClick="Button1_Click"/>
</div>
</form>
後臺: protected void Button1_Click(object sender, EventArgs e)
{
Session["name"] = NameTex.Text;
Response.Redirect("y.aspx");
}
y.aspx頁面後臺:
protected void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
Response.Write(name);
}
5使用Cookie對象變量
編輯
Cookie和Session一樣,但是有個本質之區別,即Cookie是存放在客戶端之,而session是存放在服務器端之。
而且Cookie之使用要配合ASP.NET內置對象Request來使用。
x.aspx頁面前臺:
<form id="form1" runat="server">
<div>
名字:<asp:TextBox ID="NameTex" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Cookie上傳" OnClick="Button1_Click" />
</div>
</form>
後臺: protected void Button1_Click(object sender, EventArgs e)
{
Request.Cookies.Clear();
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = NameTex.Text;
Response.AppendCookie(cookie_name);
Response.Redirect("y.aspx");
}
y.aspx頁面後臺:
protected void Page_Load(object sender, EventArgs e)
{
string name;
name =Request.Cookies["name"].Value.ToString();
Response.Write(name);
}
6使用Server.Transfer方法
這個纔可以說是面象對象開發所使用之方法,其使用Server.Transfer方法把流程從當前頁面引導到另一個頁面中,
新之頁面使用前一個頁面之應答流,所以這個方法是完全面象對象之,簡潔有效。
x.aspx頁面前臺:
<form id="form1" runat="server">
<div>
名字:<asp:TextBox ID="NameTex" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Server.Transfer上傳" OnClick="Button1_Click" />
</div>
</form>
後臺:
public string Name
{
get { return NameTex.Text; }
}
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("y.aspx");
}
y.aspx頁面後臺
protected void Page_Load(object sender, EventArgs e)
{
x newWeb; //實例x窗體
newWeb = (x)Context.Handler;
string name;
name = newWeb.Name;
Response.Write(name);
}