最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年04月20日 09:30:02   作者:知識碎片  
本文主要介紹ASP.NET中HiddenField控件的基礎(chǔ)使用方法、事件以及配合javascript的一些使用,希望能幫到大家。

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

復(fù)制代碼 代碼如下:

<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控件的基本使用

復(fù)制代碼 代碼如下:
<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

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

復(fù)制代碼 代碼如下:

<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中變相的取值,代碼如下:

復(fù)制代碼 代碼如下:

相關(guān)文章

最新評論

和龙市| 奈曼旗| 湟源县| 舞钢市| 柘荣县| 嘉峪关市| 湘乡市| 绥芬河市| 新田县| 台东市| 星座| 柳河县| 阿图什市| 门头沟区| 蕉岭县| 湟中县| 洛扎县| 隆德县| 乐平市| 鸡东县| 黑河市| 和林格尔县| 公安县| 镇巴县| 宜兰县| 商南县| 从化市| 广宁县| 大悟县| 申扎县| 福贡县| 三台县| 凤山市| 东阿县| 凯里市| 安国市| 寻甸| 揭东县| 天镇县| 深水埗区| 盐边县|