`
wangyihust
  • 浏览: 438249 次
文章分类
社区版块
存档分类
最新评论

ASP.NET 2.0新增控件-HiddenField

阅读更多

  转自MS.Tech

HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewStateSessionCookie等状态保存机制,还需要“返回老套”用起HiddenField呢?增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面。因为不管是ViewStateSession还是Cookie,都有其失效的时候(比如用户因某种需求要求设置ViewStatefalse,或者环境条件限制使用SessionCookie等等),那这个时候HiddenField无疑是最佳选择,也说明了简单实用的东西永远不会过期的道理。<o:p></o:p>

说到这里,联想起前面的BulletedList控件的产生理由,竟然也有异曲同工之处。我想,它们虽然都是“不起眼”的控件,但是它们的再次出现带给我们的思考和意义远远比它们的技术应用带给我们的多得多。扔掉“小看”任何东西的眼镜,你都会发现它值得夸耀的一面。<o:p></o:p>

HiddenField控件的主要成员有Value属性和ValueChanged事件:<o:p></o:p>

<o:p> </o:p>

l        Value:保存在隐藏输入框中的值。<o:p></o:p>

l        ValueChanged:在Value值发生改变时触发该事件。不过在我的调试过程中,发现还应该再设置HiddenField控件的EnableViewState属性为False方可,默认为True的情况下将视Value值没有发生改变,从而无法触发该事件。<o:p></o:p>

<o:p> </o:p>

简单示例:Default.aspx<o:p></o:p>

<o:p> </o:p>

<%@ Page Language="C#" %><o:p></o:p>

<o:p> </o:p>

<!DOCTYPE html PUBLIC "-//W<st1:chmetcnv unitname="C" sourcevalue="3" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">3C</st1:chmetcnv>//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><o:p></o:p>

<o:p> </o:p>

<script runat="server"><o:p></o:p>

    protected void Page_Load(object sender, EventArgs e)<o:p></o:p>

    {<o:p></o:p>

        if (HiddenField1.Value == String.Empty)<o:p></o:p>

            HiddenField1.Value = "0";<o:p></o:p>

    }<o:p></o:p>

<o:p> </o:p>

    protected void Button1_Click(object sender, EventArgs e)<o:p></o:p>

    {<o:p></o:p>

        HiddenField1.Value = (Convert.ToInt32(HiddenField1.Value) + 1).ToString();<o:p></o:p>

        Label1.Text = HiddenField1.Value;<o:p></o:p>

    }<o:p></o:p>

<o:p> </o:p>

    protected void HiddenField1_ValueChanged(object sender, EventArgs e)<o:p></o:p>

    {<o:p></o:p>

        Response.Write("Changed." + DateTime.Now.ToString());<o:p></o:p>

    }<o:p></o:p>

</script><o:p></o:p>

<o:p> </o:p>

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

<head runat="server"><o:p></o:p>

    <title>Untitled Page</title><o:p></o:p>

</head><o:p></o:p>

<body><o:p></o:p>

    <form id="form1" runat="server"><o:p></o:p>

    <div><o:p></o:p>

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

    </div><o:p></o:p>

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

        <br /><o:p></o:p>

        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><o:p></o:p>

    </form><o:p></o:p>

</body><o:p></o:p>

</html><o:p></o:p>

<o:p> </o:p>

[总结]:诚如前面所说,HiddenField虽然是个“不起眼”的控件,但是它的再次出现带给我们的思考和意义远远比它的技术应用带给我们的多得多。<o:p></o:p>

<o:p> </o:p>

[参考资料]<o:p></o:p>

1.         MSDN Library for Visual Studio 2005 beta2

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



分享到:
评论

相关推荐

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很大的变化。本书介绍了ASP.NET 2.0中的每个新增特性和功能,以便读者把这些新技术应用于实践。.. 本书主要内容 ● 服务器控件的...

    零基础学ASP.NET 2.0&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form...

    ASP.NET2.0高级编程(第4版)1/6

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    ASP.NET 3.5 开发大全11-15

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET 3.5 开发大全1-5

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET3.5从入门到精通

    1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET 应用程序需框架 1.2.1 什么是.NET 应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装...

    ASP.NET 3.5 开发大全

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET 3.5 开发大全word课件

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASPNET35开发大全第一章

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    ExtAspNet_v2.3.2_dll

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

Global site tag (gtag.js) - Google Analytics