隐藏控件--HiddenField控件
HiddenField控件百度查的结果(帮助大家对比理解):
HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要用起HiddenField呢?
增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面。因为不管是ViewState、Cookie还是Session,都有其失效的时候,比如用户因某种需求要求设置ViewState为false,或者环境条件限制使用Cookie,或者用户长时间没有动作导致Session过期等等,那这个时候HiddenField无疑是最佳选择。
HiddenField控件的作用简单的说是用于存储需要在向服务器的发送间保持的值。它作为<input type="hidden"/>元素呈现,并且通过添加runat=”server”就可以使它成为标准的HTML服务器控件。下面列出的是ASP.NET HiddenField Web服务器控件可以使用的属性和事件。
因为 HiddenField的值将呈现给客户端浏览器,所以它不适用于存储安全敏感的值。若要为 HiddenField控件指定值,请使用 Value 属性,请注意是Value而不是Text。事实上HiddenField并没有Text属性,这和DropDownList、CheckBoxList等标准按钮的属性命名方式一致。在标准的属性命名方式中,Text的值是呈现给用户看到的,而Value的值则是通长是通过代码进行控制的。例如你可以让DropDownList的Text属性显示用户名而让它的Value存储用户的编号。
当然它的作用还不只这些,下面是做系统时的应用!
在项目中的应用:
大家先来看看代码:
web端:
<asp:Repeater ID="repStudent" runat="server">
<ItemTemplate>
<tr>
<td align="center" >
<td align="center" > <asp:CheckBox ID="chkStu" runat="server" />
<asp:HiddenField ID="hidKey2" runat="server" Value='<%# Eval("StudentCode")+","+Eval("ExecutiveClassName")+","+Eval("StudentName")+","+Eval("CollegeName")+","+Eval("DepartmentName")+","+Eval("CollegeName") %>' /></td>
</td>
<td class="txt c"><%#Eval("StudentCode") %></td>
<td class="txt c"><%#Eval("StudentName") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
后台的获取:
//repStudent绑定的是从数据库中查出的datatable值
//遍历所有的复选框,如果被选中则对应的授课关系将被删除
foreach (RepeaterItem ri in repStudent.Items)
{
cb = ri.FindControl("chkStu") as CheckBox;
if (cb.Checked == true)
{
hidKey = ri.FindControl("hidKey2") as HiddenField;
string strKey = hidKey.Value;
string[] keyList = strKey.Split(',');
string StudentNo = keyList[0];
string ExecutiveClassName = keyList[1];
string StudentName = keyList[2];
string CollegeName = keyList[3];
string GradeName = keyList[4];
//string DepartmentName= keyList[5];
//新建实体类对象 //Model.StudentInfoEntity enStudent = new StudentInfoEntity();
dtStu.Rows.Add(StudentNo,StudentName,CollegeName,ExecutiveClassName,GradeName,examID,examRoom); }
}
为什么要这样使用呢?为什么要用HiddenField控件呢(当然可能有更好的办法)?
原因:首先,我需要从数据库中查出数据,有很多字段,但是在界面只需要显示其中的两三个,但问题是,我需要将
其他不显示的字段更新到其他表中,如果我直接绑定显示的值,那么其他字段值就找不到了,还需要去查,可能更麻烦,但是应用HiddenField控件,我可以在web层绑定所有我需要的不显示滴字段,然后到后台获取到HiddenField控件绑定的值,将这些值赋给实体,去更新其他数据库表。
当然这也不一定是最好的解决办法,而且HiddenField控件的功能也不仅如此,这些还需要我们在实践过程中不断应用,不断实践,在这里只是给大家提供一种方式,也是记录一下自己对HiddenField的认识。
如果对于我上面提到的问题,大家有更好的解决办法,希望大家提宝贵意见!共同学习!
隐藏控件--HiddenField控件的更多相关文章
- 隐藏控件HiddenField使用
HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据. 增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面 ...
- (转)HiddenField控件的使用
ASP.NET2.0 HiddenField控件(1)2007-05-12 23:18HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不 ...
- Hiddenfield控件
本文转自:http://www.cnblogs.com/weicleer/archive/2012/11/26/2788722.html ASP.NET2.0 HiddenField控件(1)2007 ...
- Silverlight Visifire控件 .net后台控制aspx页面控件的显示与隐藏,动态给控件赋值,选定默认值的设定
.net后台代码: 控件的显示与隐藏: this.dateStart.Visibility = Visibility.Collapsed;//不显示控件 this.dateYear.Visibilit ...
- 隐藏和显示服务器端控件以及Html控件
隐藏和显示服务器端控件以及Html控件 /// <summary> /// 隐藏控件 /// </summary> /// <param name="contr ...
- [摘]ASP.Net标准控件(TextBox控件)
TextBox控件 TextBox控件又称文本框控件,为用户提供输入文本的功能. 1.属性 TextBox控件的常用属性及说明如表1所示. 表1 TextBox控件常用属性及说明 属 性 说 ...
- ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件
原文:ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件 Login控件它是属于Membership服务的一部分,必须配置Membership提供程 ...
- Silverlight中获取控件中子控件
如题:,直接来看代码: /// <summary> /// 查找并返回第一个 相同 name的子元素 /// </summary> /// <typeparam name ...
- WPF进阶技巧和实战03-控件(1-控件及内容控件)
所有控件都继承自System.Windows.Controls.Control类,这个类添加一些基本结构: 设置控件内容对齐方式 (HorizontalContentAlignment,Vertica ...
随机推荐
- wpf 加阴影效果导致内容模糊的问题解决
这个和GPU有关,参考地址 https://www.cplotts.com/2009/02/25/gpu-effects-blurry-text/ 产生问题的代码如下: <Window x:Cl ...
- 使用siege执行压力测试
没有安装siege? 可参考我的另一篇博客 使用siege执行压力测试笔记 场景分析 使用siege对https://www.baidu.com/进行加压. 要求 模拟20个用户同时访问 一共跑3个循 ...
- python 全栈开发,Day30(第一次面向对象考试)
月考题: python 全栈11期月考题 一 基础知识:(70分) 1.文件操作有哪些模式?请简述各模式的作用(2分) 2.详细说明tuple.list.dict的用法,以及它们的特点(3分) 3.解 ...
- Ubuntu 下安装LEMP环境 实战
---恢复内容开始--- 1.nginx的服务端的安装 打开命令行终端,在终端输入,sudo apt-get install nginx 回车即开始安装 kxlc-t@ubuntu:~$ sudo ...
- Date对象和Time对象
方法 描述 getDate() : setDate() 返回/设置月份中的日期(1-31) getDay() 返回星期几(0-6) getFullYear():setFullYear() ...
- [转] React 是什么
用脚本进行DOM操作的代价很昂贵.有个贴切的比喻,把DOM和JavaScript各自想象为一个岛屿,它们之间用收费桥梁连接,js每次访问DOM,都要途径这座桥,并交纳“过桥费”,访问DOM的次数越多, ...
- 【Restful】三分钟彻底了解Restful最佳实践
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等 ...
- php用json_encode中文问题
echo json_encode($arr,JSON_UNESCAPED_UNICODE); 用这个中文就不会被转码了
- 【AtCoder】ARC078
C - Splitting Pile 枚举从哪里开始分的即可 #include <bits/stdc++.h> #define fi first #define se second #de ...
- javah命令的使用
背景 java开发中如果使用到JNI,则难免需要使用javah来生成C++或C的头文件信息,下面小编就直接说说javah的命令: 第一种:直接cd到当前程序的target/class目录下(maven ...