关于FormView在编辑模板下找不到控件的问题

简介:

今天写一支程序,其主要是一个GridView联合一个FormView去完成增改删查的功能,本来这是一个非常简单的问题。但由于需要,在FormView的编辑模板中采用两个隐藏控件绑定了两个字段。在GridView的模板列中直接点击修改,那么没有任何问题,但如果先点击详情,切换到FormView的ItemTemeplet中,在该模板中点击返回,回到GridView视图中。然后,再次点击修改时,问题就出现了,跟踪的时候找到的控件引用都为Null,找了很久都没找到原因。

后来才知道,主要跟FormView控件的运行机制有关。FormView的DefaultMode和CurrentMode属性决定其当前运行的模版是哪个,同时相应调用相关的sql语句和后台数据进行交互绑定。
如果状态为ReadOnly或Edit,而此时的查询语句没有检索到任何数据(对应查询结果的行),那么FormView没有任何东西可以显示,故里面的所有控件可以认为没有进行初始化。这时,用FindControl当然就找不到任何对应的控件的引用。

解决问题的方法是,直接禁用了FormView的ViewState属性(将其EnableViewState属性设为false),结果就正常了。



原文发布时间为:2010-07-09


本文作者:vinoYang


本文来自云栖社区合作伙伴CSDN博客,了解相关信息可以关注CSDN博客。

目录
相关文章
|
3月前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
41 0
SAP Spartacus B2B 页面信息提示图标的弹出窗口显示实现逻辑
这个弹出窗口的技术实现,通过SAP Spartacus 自定义的popover Component实现而成:
SAP Spartacus B2B 页面信息提示图标的弹出窗口显示实现逻辑
[自定义服务器控件] 第二步:下拉列表框。
前面发了一个文本框的,这回发一个下拉列表框。 一般在写自定义控件之前都要考虑一下原来的控件(系统代的)有什么优缺点,有哪些功能是我想要的,但是自带的控件没有提供,或者提供的不是太理想。 那么对于 下拉列表框 我个人感觉有几个地方用着不是太方便。
962 0
[自定义服务器控件] 第一步:文本框。
最近在整理我写的几个服务器控件,发出来与大家共享吧。 我写的自定义服务器控件呢分为两个类, 一是“简单继承”控件,就是继承框架里的控件然后加点属性了、事件了什么的。 二是“功能”控件,简单的说那是符合控件,但是呢是以实现一种功能为目的地。
795 0
|
JavaScript 索引
elementUI table 点击编辑按钮进行编辑实现示例
代码(点击查看示例): Demo .el-table-add-row { margin-top: 10px; width: 100%; ...
11071 0
从模版中找到控件的方法和找到样式的方法
原文:从模版中找到控件的方法和找到样式的方法 this.Style = (Style) App.Current.Resources["BaseWindowStyle"]; 运行下段代码一定要加载样式完成后 i最好是在 Loaded 事件运行完成后加载   ControlTemplate baseWindowTemplate = (ControlTemplate)App.
885 0
|
Android开发
UWP 查找模板中的控件
原文:UWP 查找模板中的控件 这个标题我也不知道咋起,意思说一下你就明白。 1. 对官方控件的模板进行定制修改,以满足多样化需求,还有漂亮的UI 比如ListView,GridView等。 2.
756 0