科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件ASP.NET2.0中使用HiddenField控件(3)

ASP.NET2.0中使用HiddenField控件(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍ASP.NET 2.0中使用HiddenField控件——HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。

作者:动态网站制作指南 来源:动态网站制作指南 2007年9月2日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
此时,虽然这里已经将Value值改变,但是在Page_Init里保存的这是因为当前单击Button按钮时,虽然改变了HiddenField但同样又一次触发了页面的回复,也就是虽然在上一此HiddenValue的值为0,而此次将其值改为1,但是在页面回传后,由于ViewState会保存上次的装(这里是1),所以在Page_Init里,认为HiddenField的初始值为1,而本次还是1,使得它感觉数据没有变化,所以仍然不会触发ValueChanged事件

当然,你可以禁用HiddenField来进行处理,就可以执行ValueChanged事件,但是事实上你禁用ViewState后,页面不再保存ViewState的值使得页面认为每一次请求HiddenField的都是新的,例如如下代码:

你并没有改变Hiddenfield的值,但是仍然每次都执行。
<%@ Page EnableViewState="false" %>

<head>

<script runat="server" language="c#">

protected void Page_Load(object sender, EventArgs e)

{

 if (HiddenField1.Value == String.Empty)

HiddenField1.Value = "111";

}

protected void Button1_Click(object sender, EventArgs e)

{

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

 Label1.Text = TextBox1.Text;

}

protected void HiddenField1_ValueChanged(object sender, EventArgs e)

{

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

 Response.Write(HiddenField1.Value);

 Response.Write(TextBox1.Text);

}

</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:TextBox runat=server ID=TextBox1></asp:TextBox>

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

</form>

</body>

</html>

利用HiddenFile 并结合ASP.NET2.0提供的“交叉Cross Page”页面可以实现页面数据的传递,该情况针对这样的一种方案:在一个注册页面里,需要用户输入数据,由于备注一栏的数据可能很多,可以在新窗口可以利用类似FreeTextBox的控件让用户格式化文本,并在输入完毕后,返回原注册页面。关于这种情况,以后会介绍。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章