【问题标题】:Losing controls on changeMode?失去对 changeMode 的控制?
【发布时间】: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


    【解决方案1】:

    嗯。我觉得很傻。我需要打电话

    dvChild.DataBind()
    

    在模式更改后,确保所有变体模式控件都可以通过编程方式使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      相关资源
      最近更新 更多