首页 > 解决方案 > 如何解决:“元素div不能嵌套在元素'updatepanel'中”

问题描述

我想在更新面板中使用更新面板和 div,但出现错误:元素 div 不能嵌套在元素“更新面板”中。这是我的代码:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">

    <div style="overflow:scroll">
    <asp:GridView ID="GridViewHome" runat="server" Width="100%"  AutoGenerateColumns="false" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" OnPageIndexChanging="GridViewHome_PageIndexChanging" PageSize="30" ShowFooter="True">

               <Columns>

                   <asp:TemplateField>
                    <HeaderTemplate>Options</HeaderTemplate>
                    <ItemTemplate>
                        <div style="width:100%"> <asp:HyperLink ID="HyperLink1"  NavigateUrl='<%#"/RPT/WebForm1.aspx?order_id=" +Eval("Request number")+"&DEPT ID=" +Eval("DEPT ID")+"&Test Id=" +Eval("Test Id")+"&Culture=" +Eval("Culture")%>' runat="server">Print Result</asp:HyperLink></div>
                    </ItemTemplate>
                </asp:TemplateField>

                <asp:TemplateField>
                    <HeaderTemplate>Patient MRN#</HeaderTemplate>
                    <ItemTemplate>
                      <div style="width:100%">  <asp:Label ID="lblpatient" runat="server" Text='<%# Eval("Patient No") %>'></asp:Label></div>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>Patient Name</HeaderTemplate>
                    <ItemTemplate>
                       <div style="width:100%"> <asp:Label ID="lblname" runat="server" Text='<%# Eval("Patient Name") %>'></asp:Label></div> 
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>Order Number</HeaderTemplate>
                    <ItemTemplate>
                       <div style="width:100%"> <asp:Label ID="lblorder" runat="server" Text='<%# Eval("Request number") %>'></asp:Label></div>
                    </ItemTemplate>
                </asp:TemplateField>


            </Columns>


        </asp:GridView>
        </div>

        </asp:UpdatePanel>

如何解决这个错误?

标签: c#asp.nethtmlwebforms

解决方案


一个更新面板可以包含一个 ContentTemplate ,所以像这样添加 ContentTemplate :

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
    <div style="overflow:scroll">
    <asp:GridView ID="GridViewHome" runat="server" Width="100%"  AutoGenerateColumns="false" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" OnPageIndexChanging="GridViewHome_PageIndexChanging" PageSize="30" ShowFooter="True">

               <Columns>

                   <asp:TemplateField>
                    <HeaderTemplate>Options</HeaderTemplate>
                    <ItemTemplate>
                        <div style="width:100%"> <asp:HyperLink ID="HyperLink1"  NavigateUrl='<%#"/RPT/WebForm1.aspx?order_id=" +Eval("Request number")+"&DEPT ID=" +Eval("DEPT ID")+"&Test Id=" +Eval("Test Id")+"&Culture=" +Eval("Culture")%>' runat="server">Print Result</asp:HyperLink></div>
                    </ItemTemplate>
                </asp:TemplateField>

                <asp:TemplateField>
                    <HeaderTemplate>Patient MRN#</HeaderTemplate>
                    <ItemTemplate>
                      <div style="width:100%">  <asp:Label ID="lblpatient" runat="server" Text='<%# Eval("Patient No") %>'></asp:Label></div>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>Patient Name</HeaderTemplate>
                    <ItemTemplate>
                       <div style="width:100%"> <asp:Label ID="lblname" runat="server" Text='<%# Eval("Patient Name") %>'></asp:Label></div> 
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>Order Number</HeaderTemplate>
                    <ItemTemplate>
                       <div style="width:100%"> <asp:Label ID="lblorder" runat="server" Text='<%# Eval("Request number") %>'></asp:Label></div>
                    </ItemTemplate>
                </asp:TemplateField>


            </Columns>


        </asp:GridView>
        </div>
        </ContentTemplate>
        </asp:UpdatePanel>

推荐阅读