C# 多视图不能具有类型为';GridView';。它只能具有View类型的子级

C# 多视图不能具有类型为';GridView';。它只能具有View类型的子级,c#,asp.net,multiview,C#,Asp.net,Multiview,我有以下asp.net代码 asp:MultiView runat="server" ID="mvPaymentsOnProperty" ActiveViewIndex="0"> <asp:View runat="server" ID="vPaymentsMadeOnProperty"> <br /> <asp:GridView runat="server" ID="gvPaymentsMadeOnProperty" A

我有以下asp.net代码

asp:MultiView runat="server" ID="mvPaymentsOnProperty" ActiveViewIndex="0">
    <asp:View runat="server" ID="vPaymentsMadeOnProperty">
        <br />
        <asp:GridView runat="server" ID="gvPaymentsMadeOnProperty" AutoGenerateColumns="false" EmptyDataText="bla bla">
            <Columns>
                <asp:BoundField HeaderText="bla" DataField="bla" />
                <asp:BoundField HeaderText="foo" DataField="bar" />
            </Columns>
        </asp:GridView>
    </asp:View>
    <asp:View runat="server" ID="vNoPaymentsMadeOnProperty">
        Some sort of error
    </asp:View>

</asp:MultiView>
asp:MultiView runat=“server”ID=“mvPaymentsOnProperty”ActiveViewIndex=“0”>

某种错误
当我尝试加载页面时,我得到以下错误

多视图不能有“GridView”类型的子视图。它只能有 类型视图的子级

我已经折叠了多视图代码,它只有两个子视图。是否因为视图的内容而抱怨?否则的话,它几乎完全没用了


如何修复此问题?

我得到了确切的错误,但就我而言,我忘记了在视图控件中设置
runat=“server”


如果没有包含
runat=“server”
,则该控件对于后端根本不存在。我希望这能有所帮助。

此错误意味着您的视图标签之外有一些内容。 也就是说,您的asp元素(视图除外)直接位于多视图标记中,而不是位于视图标记中


确保多重视图中没有视图标记外的gridview

我最初遇到了相同的错误,但在删除前一个视图并再次替换视图后,它对我正常工作

下面是同一场景的简单多视图

<asp:MultiView ID="MultiView1" runat="server">
    <asp:View ID="View1" runat="server">
                 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </asp:View>
        </asp:MultiView>

我使用了相同的代码,但它对我有效。没有错误!