【发布时间】:2012-02-01 16:37:46
【问题描述】:
我正在使用 .NET 进行一些数据库操作,使用子元素的 detailsView 和插入模式下的隐藏字段来存储父元素的 ID。它被填充为:
dvChild.ChangeMode(DetailsViewMode.Insert);
HiddenField hdParentId = (HiddenField) FindControlRecursive(Page, "hdParentId");
hdParentId.Value = parent.ParentId;
这最初工作正常 - 用户搜索父级,搜索返回父级 ID,子级编辑器被翻转到插入模式。在回发时我打电话
dvChild.ChangeMode(DetailsViewMode.ReadOnly);
使用 dvChild 来回显原始插入。
但是当用户从回发页面运行搜索时,尝试查找 hdParentId 只会返回 null,即使在呈现页面时控件本身也会显示。怎么回事?
FindControlRecursive 是一种流行的破解嵌套控件的方法。 dvChild.FindControl("hdParentId") 也可以预见是空的。
【问题讨论】:
标签: asp.net detailsview findcontrol