C# 使用Telerik向控件集合添加控件

C# 使用Telerik向控件集合添加控件,c#,asp.net,telerik,radgrid,ascx,C#,Asp.net,Telerik,Radgrid,Ascx,我第一次使用Telerik,遇到了一个由于我的实现而无法解决的问题。我有一个MainPage.aspx,它有一个RadTabStrip和一个与之关联的RadMultiPage。在页面视图中,我有一些用户创建的控件.ascx页面,并实现了它们,这样当选择某个选项卡时,ascx页面将显示在页面视图中。我一直在分别处理每个页面,现在我必须处理搜索页面功能,我在RadPageLayout中插入了一个RadGrid,如下所示: <Rows> <telerik:La

我第一次使用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>

没有任何数据绑定,等等,我只想导航到搜索选项卡,但当我导航到搜索选项卡时,我得到的令人沮丧的错误页面不能为空。诸如此类,诸如此类,我在网上查看了一下,发现我需要将控件添加到页面的控件集合中,但通过我的实现,我似乎找不到这样做的方法。我已尝试将其添加到中!search.ascx页面的IsPostBack页面加载事件,但我得到一个单独的错误。如果我尝试在Main.aspx页面中添加它,它仍然找不到它。。。在常规asp.net/C上从未遇到过这么多麻烦。。请帮忙

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

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
您有runat=server的表单吗?PageLayout控件是否具有runat=server属性

我试了一下,结果发现:

联合国坎特伯雷大学:

<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>

您还可以在此处查看如何使用动态页面视图和用户控件:。确保为您创建的每个动态控件添加ID。

是的,我将所有这些设置为runat=server,在Main.aspx页面和Search.ascx页面上有telerik程序集。它仍然不起作用。。。我不知道为什么,但我的假设是,由于我一直在单独研究UC,我最近刚刚在先前构建的搜索UC上放入网格,然后尝试运行它,它在搜索选项卡选择上中断。。我已经看过那个页面了,但我不想做任何反向工程,还有别的吗?我在这里完全迷路了…为了补充我之前的评论,我也一次又一次地构建了项目,以便它知道其中有一个网格,但我再次考虑在项目已经构建之后添加网格,即使它再次构建,也会使错误发生…清理VS temp文件,ASP temp文件,清理解决方案并重新生成:我完成了文章中的所有步骤,重新启动visual studio,清理了我的解决方案,重新生成,然后再次生成,但仍然显示“搜索”选项卡“选择”上的“页面不能为空”错误。。。怎么回事???当我试图在标签条上使用自定义外观时,我遇到了这样的问题,经过了那些精确的步骤,它工作了,但是对于这个错误,有一些事情发生了,所以它无法显示该控件。。。我不知道为什么。用户控件和tabstrip的生成方式可能有问题。尽可能从最简单的设置开始尝试,即添加标记中的所有内容,并开始将其移到离设置更近的位置,以找到打破标记的步骤。如果我们没有完整的代码,我们不能说更多。