麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:30:15
字體:
供稿:網(wǎng)友
本文主要介紹ASP.NET中HiddenField控件的基礎使用方法、事件以及配合javascript的一些使用,希望能幫到大家。
 

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ā)該事件。然而在實際使用時,要知道頁面記載順序。在頁面回傳過程中,具體的頁面周期你可以到如下網(wǎng)站查看 
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>


注:相關(guān)教程知識閱讀請移步到ASP.NET教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产成人精品区 | 色妞妞视频 | 最新av在线免费观看 | 久久久久久91| 黑人日比 | 日本a∨精品中文字幕在线 欧美1—12sexvideos | 黄色成年在线观看 | 一级做人爱c黑人影片 | 日韩视频一区二区三区四区 | 色视频欧美 | 免费看黄色一级大片 | 久久久久国产精品久久久久 | 高清国产在线 | 精品亚洲夜色av98在线观看 | 日本羞羞的午夜电视剧 | 久国产 | 国产精品久久久网站 | 久久人人爽人人爽人人片av高清 | 日韩1区| 久久777国产线看观看精品 | va视频在线 | zzzzzzzxxxxxx日本人 | 国产福利视频在线观看 | 日本不卡视频在线观看 | 久久里面有精品 | 国产流白浆高潮在线观看 | 中文字幕在线观看91 | 性 毛片 | 欧洲成人一区二区 | 一级电影在线免费观看 | 视频一区二区三区视频 | 国产一级免费在线视频 | 亚洲国产成人久久一区www妖精 | 亚洲第一男人天堂 | www.理论片| 法国性xxx精品hd | 国产成人精品日本亚洲语音 | 成年免费大片黄在线观看岛国 | 91av国产在线 | 久色成人 | 亚洲一区二区三区在线免费观看 |