手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >ASP.NET中HiddenField隐藏域控件的使用方法
ASP.NET中HiddenField隐藏域控件的使用方法
摘要:HiddenField控件的作用简单的说是用于存储需要在向服务器的发送间保持的值。它作为元素呈现,并且通过添加runat=”server”就...

HiddenField控件的作用简单的说是用于存储需要在向服务器的发送间保持的值。它作为 <input type= "hidden"/> 元素呈现,并且通过添加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 的值将呈现给客户端浏览器,所以它不适用于存储安全敏感的值。若要为 HiddenField 控件指定值,请使用 Value 属性,请注意是Value而不是Text。事实上HiddenField并没有Text属性,这和DropDownList、CheckBoxList等标准按钮的属性命名方式一致。在标准的属性命名方式中,Text的值是呈现给用户看到的,而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="单击按钮" runat="server" />

单击 <asp:Label id=Label1 Text="0" runat=server /> 次

</form>

</body>

</html>

在上面代码中, <asp:HiddenField id=HiddenField1 runat=Server />就定义了一个隐藏控件在按钮的单击事件里计算用户单击的次数,并将改次数赋值给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协议进行传递数据的,所以如果你通过" method="get"或者链接打开新的窗体页,那么HiddenField并不可用。

另外,HiddenField并不是取代Session来维护状态的,在上面例子里,虽然你点击一次按钮可以显示你点击的次数但是并不是说它可以记录你的状态信息。如果你重新打开浏览器那么你看到的此处仍然是0而不是3。

二、HiddenField事件ValueChanged

HiddenField较为常用的是ValueChanged事件,该事件在Value值发生改变时触发该事件。然而在实际使用时,要知道页面记载顺序。在页面回传过程中,具体的页面周期你可以到如下网站查看

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事件触发,触发时间是:" + 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的值前事件触发,触发时间是:" + 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事件触发,触发时间是:" + 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" 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()" />

</div>

</form>

</body>

</html>

【ASP.NET中HiddenField隐藏域控件的使用方法】相关文章:

.Net消息队列的使用方法

ASP.NET中为GridView添加删除提示框的方法

ASP.NET 2.0下的条件编译

ASP.Net下载大文件的实现方法

ASP.NET中application对象的使用介绍

ASP.NET上传文件的简单例子

ASP.NET中常用的优化性能的方法

.NET实现在网页中预览Office文件的3个方法

ASP.Net中表单POST到其他页面的方法分享

.net4.0中tuple元组的使用方法

精品推荐
分类导航