使用Telerik将Control添加到Control集合

本文关键字:Control 集合 添加 使用 Telerik | 更新日期: 2023-09-27 18:19:32

我第一次使用Telerik,遇到了一个由于实现而无法解决的问题。我有一个MainPage.aspx,它有一个RadTabStrip和一个关联的RadMultiPage。在页面视图中,我有一些用户创建的控件(.ascx)页面,并且已经实现了它们,因此当选择某个选项卡时,ascx页面将显示在页面视图内。我一直在单独处理每个页面,现在我必须处理搜索页面功能,其中我在RadPageLayout中插入了一个RadGrid,如下所示:

    <Rows>
        <telerik:LayoutRow>
            <Columns>
                <telerik:CompositeLayoutColumn Span="12">
                    <Content>
                        <telerik:RadGrid ID="rgSearchResults" Width="700px" runat="server" AllowPaging="true" AllowSorting="true">
                        </telerik:RadGrid>
                    </Content>
                </telerik:CompositeLayoutColumn>
            </Columns>
        </telerik:LayoutRow>
    </Rows>

没有任何数据绑定等,我所要做的就是导航到搜索选项卡,但当我这样做时,我会收到一个令人沮丧的错误"Page cannot be null。Blah Blah Bla"我在网上查看了一下,发现我需要将控件添加到页面的控件集合中,但在我的实现中,我似乎找不到这样做的方法。我试图将其添加到search.ascx页面的"!IsPostBack"页面加载事件中,但我遇到了另一个错误。如果我试图将它添加到Main.aspx页面中,它仍然找不到它……在普通的asp.net/C#上从未遇到过这么多麻烦……请帮助!

使用Telerik将Control添加到Control集合

您是否已在用户控件上注册Telerik程序集

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

你有runat=server的表单吗?PageLayout控件是否具有runat=server属性?

我试了一下,结果显示:

卸载UC:

<telerik:RadPageLayout runat="server" ID="RadPageLayout1">
    <Rows>
        <telerik:LayoutRow>
            <Columns>
                <telerik:CompositeLayoutColumn Span="12">
                    <Content>
                        <telerik:RadGrid ID="rgSearchResults" Width="700px" runat="server" AllowPaging="true" AllowSorting="true">
                        </telerik:RadGrid>
                    </Content>
                </telerik:CompositeLayoutColumn>
            </Columns>
        </telerik:LayoutRow>
    </Rows>
</telerik:RadPageLayout>

在主页中

<form id="form1" runat="server">
    <asp:ScriptManager ID="Scriptmanager1" runat="server" />
    <telerik:RadTabStrip runat="server" ID="RadTabStrip1" MultiPageID="RadMultiPage1">
        <Tabs>
            <telerik:RadTab Text="first" Selected="true"></telerik:RadTab>
            <telerik:RadTab Text="second"></telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <telerik:RadMultiPage runat="server" ID="RadMultiPage1">
        <telerik:RadPageView runat="server" ID="RadPageView1" Selected="true">first page view</telerik:RadPageView>
        <telerik:RadPageView runat="server" ID="RadPageView2">
            second page view with grid
            <uc1:myControl runat="server" ID="myControl1"></uc1:myControl>
        </telerik:RadPageView>
    </telerik:RadMultiPage>
</form>

您还可以在此处查看如何使用动态页面视图和用户控件:http://demos.telerik.com/aspnet-ajax/tabstrip/examples/multipage/dynamic-pageview-creation/defaultcs.aspx.请确保为您创建的每个动态控件添加ID。