关于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博客。

目录
相关文章
|
4天前
|
JavaScript
【实用模板】Vue代码文件常用创建或编辑抽屉
【实用模板】Vue代码文件常用创建或编辑抽屉
|
4天前
|
JavaScript 前端开发
vue前端下载,实现点击按钮弹出本地窗口,选择自定义保存路径
这个不用代码实现(网上也找不到方法可以调出另存为窗口),更改浏览器设置就可以,否则,现在的浏览器都是默认直接保存到下载路径中
88 3
|
4天前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
41 0
[自定义服务器控件] 第一步:文本框。
最近在整理我写的几个服务器控件,发出来与大家共享吧。 我写的自定义服务器控件呢分为两个类, 一是“简单继承”控件,就是继承框架里的控件然后加点属性了、事件了什么的。 二是“功能”控件,简单的说那是符合控件,但是呢是以实现一种功能为目的地。
796 0
[自定义服务器控件] 第二步:下拉列表框。
前面发了一个文本框的,这回发一个下拉列表框。 一般在写自定义控件之前都要考虑一下原来的控件(系统代的)有什么优缺点,有哪些功能是我想要的,但是自带的控件没有提供,或者提供的不是太理想。 那么对于 下拉列表框 我个人感觉有几个地方用着不是太方便。
963 0
|
JavaScript 索引
elementUI table 点击编辑按钮进行编辑实现示例
代码(点击查看示例): Demo .el-table-add-row { margin-top: 10px; width: 100%; ...
11075 0
从模版中找到控件的方法和找到样式的方法
原文:从模版中找到控件的方法和找到样式的方法 this.Style = (Style) App.Current.Resources["BaseWindowStyle"]; 运行下段代码一定要加载样式完成后 i最好是在 Loaded 事件运行完成后加载   ControlTemplate baseWindowTemplate = (ControlTemplate)App.
887 0