ASP.NET 2.0新增控制項-HiddenField

來源:互聯網
上載者:User
asp.net|控制項

HiddenField控制項顧名思義就是隱藏輸入框的伺服器控制項,它能讓你儲存那些不需要顯示在頁面上的且對安全性要求不高的資料。也許這個時候應該有這麼一個疑問,為什麼有了ViewState、Session和Cookie等狀態儲存機制,還需要“返回老套”用起HiddenField呢?增加HiddenField,其實是為了讓整個狀態管理機制的應用程度更加全面。因為不管是ViewState、Session還是Cookie,都有其失效的時候(比如使用者因某種需求要求設定ViewState為false,或者環境條件限制使用Session或Cookie等等),那這個時候HiddenField無疑是最佳選擇,也說明了簡單實用的東西永遠不會到期的道理。

說到這裡,聯想起前面的BulletedList控制項的產生理由,竟然也有異曲同工之處。我想,它們雖然都是“不起眼”的控制項,但是它們的再次出現帶給我們的思考和意義遠遠比它們的技術應用帶給我們的多得多。扔掉“小看”任何東西的眼鏡,你都會發現它值得誇耀的一面。

HiddenField控制項的主要成員有Value屬性和ValueChanged事件:

 

l        Value:儲存在隱藏輸入框中的值。

l        ValueChanged:在Value值發生改變時觸發該事件。不過在我的調試過程中,發現還應該再設定HiddenField控制項的EnableViewState屬性為False方可,預設為True的情況下將視Value值沒有發生改變,從而無法觸發該事件。

 

簡單樣本:Default.aspx

 

<%@ Page Language="C#" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

 

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)

    {

        if (HiddenField1.Value == String.Empty)

            HiddenField1.Value = "0";

    }

 

    protected void Button1_Click(object sender, EventArgs e)

    {

        HiddenField1.Value = (Convert.ToInt32(HiddenField1.Value) + 1).ToString();

        Label1.Text = HiddenField1.Value;

    }

 

    protected void HiddenField1_ValueChanged(object sender, EventArgs e)

    {

        Response.Write("Changed." + DateTime.Now.ToString());

    }

</script>

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Untitled Page</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <asp:HiddenField ID="HiddenField1" runat="server" OnValueChanged="HiddenField1_ValueChanged" EnableViewState="False" />

    </div>

        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

        <br />

        <asp:Button ID="Button1" runat="server" Text="Button" />

    </form>

</body>

</html>

 

[總結]:誠如前面所說,HiddenField雖然是個“不起眼”的控制項,但是它的再次出現帶給我們的思考和意義遠遠比它的技術應用帶給我們的多得多。

 

[參考資料]:

1.         MSDN Library for Visual Studio 2005 beta2

2.         http://beta.asp.net/QUICKSTART/aspnet/default.aspx

 



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。