子更新面板不要刷新

时间:2013-12-23 12:52:07

标签: c# asp.net

我在嵌套更新面板中遇到问题。我通过使用用户控件绑定gridview,我的列表框位于子更新面板中,同时选择列表框中的项目正在刷新页面。但我不想刷新。

这是我的aspx:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SearchModule._Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
    <link type="text/css" rel="stylesheet" href="Defaultstylesheet.css" />


    <script src=<%--"Scripts/jquery-1.8.2.js" type="text/javascript"> </script>  --%>

    <%@ Register TagPrefix="inc" TagName="sPager" Src="~/UserControls/SearchPager.ascx" %>

    <asp:UpdatePanel ID="upseachr" runat="server" >
        <ContentTemplate>
    <div style="height: 50px;"></div>
    <div class="searchtextbx">
        <asp:TextBox ID="searchtext" runat="server"></asp:TextBox>
        <asp:Button ID="Search" OnClick="Search_Click"  CssClass="searchbtn" Text="Search"  height="32"  runat="server"> </asp:Button>


    </div>

             <asp:UpdateProgress ID="updatesearchpro" AssociatedUpdatePanelID="upseachr" runat="server" >
        <ProgressTemplate>
           <center>
             <asp:Panel ID="searchpanel" runat="server"> 
               <img alt="Processing" src="Images/359.gif" />
                <br />
                  <asp:Label ID="panlab" runat="server" Text="Processing..."></asp:Label>
             </asp:Panel>
           </center>  
        </ProgressTemplate>
    </asp:UpdateProgress> 



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

                                  <ContentTemplate>
    <div class="resultpage" style="overflow-x: scroll;">
        <table>
            <tr>

                   <div class="listbox">

                    <asp:Label ID="headertext" runat="server" CssClass="labelresul" Font-Bold="true" Height="50" Text="Available Filter"></asp:Label>
                    <span style="padding-left:10px;font-weight:700;"> <asp:HiddenField runat="server" ID="hdCount" /><asp:Label ID="Total" runat="server" Height="50"></asp:Label></span><span style="padding-left:5px;font-weight:700;"><asp:Label runat="server" ID="match" Visible="false" Text="Matches"></asp:Label>&nbsp;&nbsp;&nbsp;<asp:Label ID="remainingcount" ForeColor="Red" Visible="false" runat="server"></asp:Label>&nbsp;&nbsp;&nbsp;&nbsp;<asp:Label ID="remaining" runat="server" ForeColor="Red"  Text="Remaining"  Visible="true"></asp:Label>&nbsp;&nbsp;</span>

                </div>

            </tr>

            <tr>             
                <asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound" EnableViewState="false">
                    <ItemTemplate>
                        <td>
                            <asp:Label ID="listheader" runat="server" Text='<%# Eval("additional_info_name1") %>'></asp:Label>
                                <asp:ListBox ID="results" Width="200" Visible="true" runat="server"  SelectionMode="Multiple" AutoPostBack="true" OnSelectedIndexChanged="results_SelectedIndexChanged" ></asp:ListBox>
                        </td>

                    </ItemTemplate>
                </asp:ListView>




            </tr>
            <tr>
                <td class="listbox1">
                    <asp:Button ID="btn" runat="server" Font-Size="12" Font-Bold="true" CssClass="searchbtn" OnClick="btn_Click" Text="Apply Filter" />
                </td>
            </tr>
        </table>
    </div>
                                        </ContentTemplate>

                                </asp:UpdatePanel>  


    <div style="height: 40px;"></div>

    <div class="resultpage" style="overflow-y: scroll;">
         <asp:UpdatePanel ID="updPager" runat="server">
                                    <ContentTemplate>

        <inc:sPager ID="sPager" runat="server" OnPageIndexChanging="sPager_OnPageIndexChanging"></inc:sPager>
 </ContentTemplate>
                                </asp:UpdatePanel>


          <asp:UpdatePanel ID="updGrid" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
                                        <ContentTemplate>
        <asp:GridView ID="gvResults" runat="server" AutoGenerateColumns="false" ItemStyle-VerticalAlign="Middle"  AllowSorting="true"
            ItemStyle-HorizontalAlign="Center" GridLines="None" CellSpacing="10" CellPadding="2" AllowCustomPaging="true"  OnSorting="gvResults_Sorting"
            AllowPaging="True" PageSize="20" HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center" 
            HeaderStyle-CssClass="GridHeader" RowStyle-HorizontalAlign="Left" CssClass="GridStyle"  >

            <Columns >
                <asp:TemplateField HeaderText="Stock Code" SortExpression="manufacturer_part_number" >
                    <ItemTemplate>
                        <asp:Label ID="lblFirstName" Text='<%# DataBinder.Eval(Container.DataItem, "manufacturer_part_number")%>' runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>

                <asp:BoundField DataField="Manufacturer"  SortExpression="Manufacturer" HeaderText="Manufacturer"></asp:BoundField>

                <asp:BoundField DataField="Description"  SortExpression="Description" HeaderText="Description"></asp:BoundField>

                <asp:BoundField DataField="Availability"  SortExpression="Availability" HeaderText="Availability"></asp:BoundField>
                <asp:BoundField DataField="flag_rohs"  SortExpression="flag_rohs" HeaderText="RoHS"></asp:BoundField>

            </Columns>
        </asp:GridView>


          </ContentTemplate>
                                    </asp:UpdatePanel>

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









</asp:Content>

1 个答案:

答案 0 :(得分:0)

您的顶级UpdatePanel似乎有UpdateMode Always(这是默认值)。

MSDN documentation州:

  

如果UpdateMode属性设置为AlwaysUpdatePanel   控件的内容会在源自的每个回发时更新   在页面的任何地方。这包括来自的异步回发   其他UpdatePanel控件和回发中的控件   来自不在UpdatePanel控件内的控件。

您可以通过将顶级UpdatePanel控件更改为条件来纠正此问题。 e.g:

<asp:UpdatePanel ID="upseachr" runat="server" UpdateMode="Conditional">

干杯