asp.net内容块中控件的范围

asp.net内容块中控件的范围,asp.net,scope,Asp.net,Scope,只是遇到了一些有趣的问题。我已将一个面板从asp:Content块分离到另一个。在原始的asp:Content块中,仍然驻留一个带有child的asp:FormView,它引用多个ObjectDataSource。这些ObjectDataSource在同一asp:Content块中定义 分离的面板具有使用相同ObjectDataSources的子控件。然而,由于分离,这些ObjectDataSource不再可访问 简化情况: <asp:Content ID="ContentsContent

只是遇到了一些有趣的问题。我已将一个面板从asp:Content块分离到另一个。在原始的asp:Content块中,仍然驻留一个带有child的asp:FormView,它引用多个ObjectDataSource。这些ObjectDataSource在同一asp:Content块中定义

分离的面板具有使用相同ObjectDataSources的子控件。然而,由于分离,这些ObjectDataSource不再可访问

简化情况:

<asp:Content ID="ContentsContent" ContentPlaceHolderID="ContentsContainer" runat="server">
    <asp:FormView DataSourceID="FirstSource">
        <asp:DropDownList DataSourceID="SecondSource" />
    </asp:FormView>
    <asp:ObjectDataSource ID="FirstSource" />
    <asp:ObjectDataSource ID="SecondSource" />
</asp:Content>
<asp:Content ID="ModelBoxesContent" ContentPlaceHolderID="ModalBoxesContainer" runat="server">
    <asp:Panel>
        <asp:DropDownList DataSourceID="SecondSource" />
    </asp:Panel>
</asp:Content>

我知道这个内容块的范围不允许它。。。但是有没有人有一个很好的解决方案,可以在一个地方定义相同的数据源,但仍然能够在多个内容块中引用它们


谢谢。

在页面加载时设置数据源id

seconddropdownlist.DataSourceID="SecondSource"  ;

在页面加载时设置数据源id

seconddropdownlist.DataSourceID="SecondSource"  ;

当然,很好的解决方案。希望有更多的声明,但这也可以。当然,这是一个很好的解决方案。希望有更多的声明,但这也可以。