gpt4 book ai didi

c# - 在 DetailsView 的 TemplateField 中查找用户控件

转载 作者:行者123 更新时间:2023-11-30 22:49:54 25 4
gpt4 key购买 nike

我有一个正在回发的 DetailsView,其中有一个 UserControl。我很难在回发数据中找到它。

举个例子:

<asp:DetailsView ID="dvDetailsView" runat="Server" AutoGenerateRows="false">
<Fields>
<asp:TemplateField>
<ItemTemplate>
Some text here
</ItemTemplate>
<EditItemTemplate>
<uc:UserControl ID="ucUserControl" runat="server" />
</EditItemTemplate>
<InsertItemTemplate>
<uc:UserControl ID="ucUserControl" runat="server" />
</InsertItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>

当我回发时,我会假设我会做这样的事情:

MyUserControlType ucUserControl = dvDetailsView.FindControl("ucUserControl") as MyUserControlType;

但这什么也找不到。其实我在快看里走来走去都找不到这个宝贝……

我需要做什么才能找到这个东西??

编辑:原来我的用户控件 ID 被更改了 - 但为什么呢?我在插入和编辑模板上确实有相同的 ID,但将其注释掉没有任何区别。

最佳答案

DataBind控件后,您将使用:

dvDetailsView.Rows[0].Cells[0].FindControl("ucUserControl")

并确保您仅在编辑模式下执行此操作,因为该控件仅存在于 EditItemTemplate 中。

关于c# - 在 DetailsView 的 TemplateField 中查找用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/881416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com