您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關ASP.NET中如何使用HiddenField隱藏域控件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
一、HiddenField控件的基本使用
<html> <head> <script language="C#" runat="server"> void Button1_Click(object sender, EventArgs e) { if (HiddenField1.Value == String.Empty) HiddenField1.Value = "0"; HiddenField1.Value = (Convert.ToInt32(HiddenField1.Value)+1).ToString(); Label1.Text = HiddenField1.Value; } </script> </head> <body> <h4><font face="Verdana">HiddenField</font></h4> <form runat=server> <asp:HiddenField id=HiddenField1 runat=Server /> <asp:Button id=Button1 Text="單擊按鈕" onclick="Button1_Click" runat="server" /> 單擊 <asp:Label id=Label1 Text="0" runat=server /> 次 </form> </body> </html>
在上面代碼中, <asp:HiddenField id=HiddenField1 runat=Server />就定義了一個隱藏控件在按鈕的單擊事件里計算用戶單擊的次數,并將改次數賦值給Label1。
你可以將上面代碼中的 <asp:HiddenField id=HiddenField1 runat=Server />改為<input type=hidden id=HiddenField1 runat=Server >也是可以的
在使用上面代碼里,如果你從瀏覽器里查看源代碼會得到如下的信息:
<form name="Form1" method="post" action="Default.aspx" id="Form1">
這是因為HiddenField是通過HTTP協議進行傳遞數據的,所以如果你通過" method="get"或者鏈接打開新的窗體頁,那么HiddenField并不可用。
另外,HiddenField并不是取代Session來維護狀態的,在上面例子里,雖然你點擊一次按鈕可以顯示你點擊的次數但是并不是說它可以記錄你的狀態信息。如果你重新打開瀏覽器那么你看到的此處仍然是0而不是3。
二、HiddenField事件ValueChanged
HiddenField較為常用的是ValueChanged事件,該事件在Value值發生改變時觸發該事件。然而在實際使用時,要知道頁面記載順序。在頁面回傳過程中
下面的例子說明了這個問題
<html> <head> <script runat="server" language="c#"> protected void Page_Load(object sender, EventArgs e) { Response.Write("<p>頁面的Page_Load事件觸發,觸發時間是:" + DateTime.Now.ToString()); if (HiddenField1.Value == String.Empty) HiddenField1.Value = "0"; } protected void Button1_Click(object sender, EventArgs e) { Response.Write("<p>Button1_Click為改變Hidden的值前事件觸發,觸發時間是:" + DateTime.Now.ToString()); HiddenField1.Value = (Convert.ToInt32(HiddenField1.Value) + 1).ToString(); Label1.Text = HiddenField1.Value; } protected void HiddenField1_ValueChanged(object sender, EventArgs e) { Response.Write("<p>HiddenField的 ValueChanged事件觸發,觸發時間是:" + DateTime.Now.ToString()); } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:HiddenField ID="HiddenField1" runat="server" OnValueChanged="HiddenField1_ValueChanged" /> </div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> </form></body> </html>
三、用javascript把值傳給HiddenField
javascript直接改變控件的值再后臺取不到值,存在HiddenField中變相的取值,代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無標題頁</title> <script type="text/javascript"> function setValue(){ document.getElementById("<%=name.ClientID %>").value="aaaa"; } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:HiddenField ID="name" runat="server" /> <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="setValue()" onclick="Button1_Click" /> </div> </form> </body> </html>
關于ASP.NET中如何使用HiddenField隱藏域控件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。