【问题标题】:FindControl in DetailsView Not working?DetailsView 中的 FindControl 不起作用?
【发布时间】:2011-03-31 11:16:09
【问题描述】:

我有一个 Gridview,当单击编辑按钮时,该行的详细信息会使用详细信息视图显示。

显示的时候需要在detailsView中找到一个控件,然后绑定一个Datasource。

首先我不确定要使用的事件,但我使用了 DetailsView1_DataBound。但是,如果我必须使用

找到控件
var control=(ControlType)DetailsView1.Findcontrol("ID");

总是返回空值。可能是我没有使用正确的事件,并且当时找不到控件。关于要使用的事件的任何想法,以及正确的代码?

谢谢

【问题讨论】:

  • 显示您的详细信息视图设计器代码。
  • 显示您的 aspx 和代码背后的代码
  • 挺大的,你想看哪一部分
  • 我在更新面板中的 Gridview 并为 Iteminserted 和 itemUpdated 设置了 AsyncPostBackTrigger controlId="DetailsView"。
  • 昆杜尔;你试过我的解决方案了吗?

标签: c# .net asp.net visual-studio detailsview


【解决方案1】:

在你的databound event,你需要小心你的DetailsView Mode

 if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
    {
      //Put here if you want to find control of your Edit Mode
      var control=(ControlType)DetailsView1.Findcontrol("EditTemplateControlID");
    }

 if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
    {
        //Put here if you want to find control of your Insert Mode
      var control=(ControlType)DetailsView1.Findcontrol("InsertTemplateControlID");
    }

【讨论】:

  • Akthar.,谢谢,是的,我试过了,发现控件绑定了它。,我可以和你讨论一些事情吗?,网站已经完成,我只是添加一个新功能。,所以他们所做的是他们采用了gridview,但他们指定了gridview的命令按钮。他们采用了链接按钮(编辑和删除)。然后在单击事件中,他们显示了详细信息视图。“我在此详细信息视图中添加了一个网格视图”使用您的解决方案我可以绑定它但看不到数据。为什么??????
  • 你可以发布新问题;详细解释您的问题,并在后面发布您的代码并形成设计;我一定会帮助你:)
  • @manasareddy.kundur;如果解决方案对您有帮助;不要忘记将答案标记为最佳答案。谢谢
【解决方案2】:

我遇到了同样的问题,Muhammad Akhtar 的回答对我没有帮助。将 DetailsView 的默认模式从“编辑”更改为“插入”后,问题得到解决。

我还建议使用 ItemCreated 事件而不是 DataBound 事件。我经常使用它来在 DetailsView 的字段中设置默认值。

【讨论】:

    猜你喜欢
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2010-10-22
    • 2012-11-02
    相关资源
    最近更新 更多