我有一个要发回的 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;
但这什么也没找到。事实上,我什至在 QuickWatch 中四处走动都找不到这个宝贝……
我需要做什么才能找到这个东西?
编辑:事实证明我的用户控件 ID 正在更改 - 但为什么呢?我在插入和编辑模板上确实有相同的 ID,但将其注释掉并没有什么区别。