情况是这样的
假设有abc.aspx页面
页面上部分是一个GridView,页面下部分是很多文本框
当点击GridView中某一条数据时,对应的详细信息要在页面下部的文本框中显示出来
GridView中的每一条数据并不完全一样,所以下部的文本框要依据数据的实际情况隐藏
假设GridView中的数据“A”没有Name,那么下部的Name文本框隐藏,然后我又点了GridView中的数据“B”,B有Name属性,所以下部的Name文本框不需要隐藏,但是因为上一次操作数据“A”的时候隐藏了页面下部的Name文本框,Name文本框的隐藏属性被ViewState记录下来了,如不我不主动的给Name文本框的Visible赋值为TRUE,那么Name文本框会继续保持隐藏状态有什么办法能重置ViewState中某个控件的状态,使控件恢复到页面刚打开时的默认状态?
假设有abc.aspx页面
页面上部分是一个GridView,页面下部分是很多文本框
当点击GridView中某一条数据时,对应的详细信息要在页面下部的文本框中显示出来
GridView中的每一条数据并不完全一样,所以下部的文本框要依据数据的实际情况隐藏
假设GridView中的数据“A”没有Name,那么下部的Name文本框隐藏,然后我又点了GridView中的数据“B”,B有Name属性,所以下部的Name文本框不需要隐藏,但是因为上一次操作数据“A”的时候隐藏了页面下部的Name文本框,Name文本框的隐藏属性被ViewState记录下来了,如不我不主动的给Name文本框的Visible赋值为TRUE,那么Name文本框会继续保持隐藏状态有什么办法能重置ViewState中某个控件的状态,使控件恢复到页面刚打开时的默认状态?
解决方案 »
- 正则表达式怎么写!
- 求解一个select在.net中的实现方法
- CSS的问题
- 关于datable合并且过虑重复记录的问题
- 登陆功能出错,很菜的问题
- 我想在用户控件中动态邦定一个Repeater,如何传参数进去,根据不同的参数动态邦定不同的数据源
- 怎么通过 网页来获取用户的pppoe拨号上网帐号???
- 急救,web程序移植问题,望高人指点...........
- 关于路径的简单问题....
- 我在ASPX地一个过程中更改了一些控件地属性,但运行时并未提交,请问如何提交。
- 编译器错误消息: CS0246: 找不到类型或命名空间名称“Class1”(是否缺少 using 指令或程序集引用?)
- 怎样用JQuery从后台获取数据绑定到 HTML 标签 select 上?
或
protected void gv_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
string str= ((TextBox)gv.Rows[e.NewSelectedIndex].FindControl("txt")).Text.Trim();
//设置Visible
}
根本不需要考虑这些,根本不需要考虑那么多手动代码。当你在GridView上选择了一行,FormView或者DetailsView就重新绑定了,它重新绑定时跟之前的ViewState没有关系,是直接根据GridView上选择的行来创建的。
回复5楼,TextBox没在GridView中。
回复7楼,因为是代码维护,现在改用其他方式实现,时间上不允许。
“有什么办法能重置ViewState中某个控件的状态,使控件恢复到页面刚打开时的默认状态?”,如果可以的话,这应该是解决这次问题最快的方法了。
如果只是数据,重新绑定不会有问题,但如果之前操作过某一个textbox的属性,例如visible,如果上一次设置为FALSE,绑定时如果不重置,那么那个textbox的visible就还是FALSE,类似于这样的逻辑比较多,如果全部都单独列出来设置,就需要对老代码进行比较大的改动,时间上真的不够