欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年04月20日 09:30:02   作者:知識碎片  
本文主要介紹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中變相的取值,代碼如下:

復制代碼 代碼如下:

相關文章

  • .Net行為型設計模式之策略模式(Stragety)

    .Net行為型設計模式之策略模式(Stragety)

    這篇文章介紹了.Net行為型設計模式之策略模式(Stragety),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • aspx是什么格式 ASPX文件怎么打開

    aspx是什么格式 ASPX文件怎么打開

    ASPX文件是一種Web文件,它是網(wǎng)站的網(wǎng)頁源文件,里面全是代碼。這種文件是由微軟的ASP.NET語言開發(fā)出來的
    2013-05-05
  • MSMQ微軟消息隊列詳解

    MSMQ微軟消息隊列詳解

    本文詳細講解了MSMQ微軟消息隊列,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • .Net行為型設計模式之中介者模式(Mediator)

    .Net行為型設計模式之中介者模式(Mediator)

    這篇文章介紹了.Net行為型設計模式之中介者模式(Mediator),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET中 CheckBox復選框控件的使用

    ASP.NET中 CheckBox復選框控件的使用

    本文主要介紹ASP.NET中CheckBox復選框控件的使用,并舉例演示其用法,希望對大家有所幫助。
    2016-04-04
  • ASP.NET Core服務生命周期

    ASP.NET Core服務生命周期

    這篇文章介紹了ASP.NET Core中的服務生命周期,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • asp.net中MVC的處理流程詳解

    asp.net中MVC的處理流程詳解

    本文詳細講解了asp.net MVC的處理流程,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 詳解ABP框架中的數(shù)據(jù)過濾器與數(shù)據(jù)傳輸對象的使用

    詳解ABP框架中的數(shù)據(jù)過濾器與數(shù)據(jù)傳輸對象的使用

    ABP框架是一個基于ASP.NET的Web開發(fā)框架,這里我們來詳解ABP框架中的數(shù)據(jù)過濾器與數(shù)據(jù)傳輸對象的使用,需要的朋友可以參考下
    2016-06-06
  • C#枚舉的高級應用

    C#枚舉的高級應用

    這篇文章介紹了C#枚舉的高級應用,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • c#中常用的js語句

    c#中常用的js語句

    有時候在開發(fā)中,經(jīng)常輸出一些js與客戶端實現(xiàn)交互,雖然說是c#的其實好多js的,需要的朋友可以收藏下。
    2010-04-04

最新評論