隐藏控件--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 ...
随机推荐
- HDFS上创建文件、写入内容
1.创建文件 hdfs dfs -touchz /aaa/aa.txt 2.写入内容 echo "<Text to append>" | hdfs dfs -appen ...
- ubuntu下java8卸载
要删除 OpenJDK (如果已安装的话).首先,检查是安装的哪个 OpenJDK包. # dpkg --list | grep -i jdk 移除 openjdk包: # apt-get purge ...
- 【APUE | 08】进程控制
函数fork 博文链接: 1. 代码示例: #include "apue.h" ; char buf[] = "a write to stdout\n"; in ...
- Collections.sort 给集合排序
List<MenuVo> child_menus = new ArrayList<MenuVo>(); for (MenuVo menuVo : child_menus) { ...
- 不同git仓库版本控制
场景: 我们有一个开源项目托管在github上面,现在打算在gitlab上进行私有托管开发,当适合发布一个版本的时候提交到github. Git合并特定commits 到另一个分支 实现如下: 1.获 ...
- Python replace
一.replace替换 a = "wohaoshuai" a.replace('a','o') wohooshuoi a.replace('a','') wohoshui
- BZOJ5071 小A的数字 BZOJ2017年10月月赛 其他
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5071 题意概括 题解 一开始蒙了. 感觉做过类似的题目. 但是找不到方法. 突然想到前缀和! 对于 ...
- copy 深浅复制
- java注解的概念理解
1. 注解(标注)概念:从字面意思理解是对被标注的对象(类,接口,枚举,注解类,方法,参数)的一个标记,有这个标记有什么用呢?就像学习中“划重点”的方式一样,被标记的对象肯定是特殊需要特别关照的对象, ...
- MySQL数据库-----基本命令操作
小编之前一直想要了解一下,如何搭建数据库,这里分享一下在此之前的一些准备工作,首先小编是先了解数据库(mysql),以下是小编的一些认识: 一.mysql常用命令1.mysql登录和退出 登录:mys ...