私はポストバックしている 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 を持っていますが、コメントアウトしても違いはありませんでした。