主頁 > 知識庫 > ASP.NET中HiddenField隱藏域控件的使用方法

ASP.NET中HiddenField隱藏域控件的使用方法

熱門標簽:代理接電話機器人如何取消 天心智能電銷機器人 地圖標注專業(yè)團隊 遂寧市地圖標注app 塔城代理外呼系統(tǒng) 地圖標注的公司有哪些 400電話辦理哪家性價比高 濮陽外呼電銷系統(tǒng)怎么樣 地圖定位圖標標注

HiddenField控件的作用簡單的說是用于存儲需要在向服務器的發(fā)送間保持的值。它作為 input type= "hidden"/> 元素呈現(xiàn),并且通過添加runat=”server”就可以使它成為標準的HTML服務器控件。下面列出的是ASP.NET HiddenField Web服務器控件可以使用的屬性和事件。
 

復制代碼 代碼如下:

asp:HiddenField
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    OnValueChanged="ValueChanged event handler"
    runat="server"
    SkinID="string"
    Value="string"
    Visible="True|False"
/>

因為 HiddenField 的值將呈現(xiàn)給客戶端瀏覽器,所以它不適用于存儲安全敏感的值。若要為 HiddenField 控件指定值,請使用 Value 屬性,請注意是Value而不是Text。事實上HiddenField并沒有Text屬性,這和DropDownList、CheckBoxList等標準按鈕的屬性命名方式一致。在標準的屬性命名方式中,Text的值是呈現(xiàn)給用戶看到的,而Value的值則是通長是通過代碼進行控制的。例如你可以讓DropDownList的Text屬性顯示用戶名而讓它的Value存儲用戶的編號。

一、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>
        h3>font face="Verdana">HiddenField/font>/h3>
        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 />就定義了一個隱藏控件在按鈕的單擊事件里計算用戶單擊的次數(shù),并將改次數(shù)賦值給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協(xié)議進行傳遞數(shù)據(jù)的,所以如果你通過" method="get"或者鏈接打開新的窗體頁,那么HiddenField并不可用。
另外,HiddenField并不是取代Session來維護狀態(tài)的,在上面例子里,雖然你點擊一次按鈕可以顯示你點擊的次數(shù)但是并不是說它可以記錄你的狀態(tài)信息。如果你重新打開瀏覽器那么你看到的此處仍然是0而不是3。 

二、HiddenField事件ValueChanged

HiddenField較為常用的是ValueChanged事件,該事件在Value值發(fā)生改變時觸發(fā)該事件。然而在實際使用時,要知道頁面記載順序。在頁面回傳過程中,具體的頁面周期你可以到如下網站查看
http://msdn2.microsoft.com/zh-cn/library/ms178472.aspx

下面的例子說明了這個問題

復制代碼 代碼如下:

html>
head>
script runat="server" language="c#">
protected void Page_Load(object sender, EventArgs e)
{
    Response.Write("p>頁面的Page_Load事件觸發(fā),觸發(fā)時間是:" + 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的值前事件觸發(fā),觸發(fā)時間是:" + 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事件觸發(fā),觸發(fā)時間是:" + 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 Substitution 頁面緩存而部分不緩存的實現(xiàn)方法
  • ASP.NET中Validation驗證控件正則表達式特殊符號的說明
  • ASP.NET中CheckBoxList復選框列表控件詳細使用方法
  • ASP.NET中DropDownList下拉框列表控件綁定數(shù)據(jù)的4種方法
  • ASP.NET中FileUpload文件上傳控件應用實例
  • ASP.NET中HyperLink超鏈接控件的使用方法
  • ASP.NET中Image控件使用詳解
  • ASP.NET中ImageButton圖片按鈕控件的使用
  • ASP.NET 中 Button、LinkButton和ImageButton 三種控件的使用詳解
  • ASP.NET Substitution 控件的使用方法

標簽:吉林 麗江 本溪 河南 重慶 婁底 宜春 汕頭

巨人網絡通訊聲明:本文標題《ASP.NET中HiddenField隱藏域控件的使用方法》,本文關鍵詞  ASP.NET,中,HiddenField,隱藏,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中HiddenField隱藏域控件的使用方法》相關的同類信息!
  • 本頁收集關于ASP.NET中HiddenField隱藏域控件的使用方法的相關信息資訊供網民參考!
  • 推薦文章