【问题标题】:Want to update only gridView but whole page is being refreshed只想更新 gridView 但正在刷新整个页面
【发布时间】:2012-10-01 12:29:26
【问题描述】:

请帮帮我……我是 ASP.net 编程的新手…… 我有一个主页,在该页面上我有一个按钮 Button1 ,现在单击该按钮应该会弹出一个面板。

<ajaxToolkit:ModalPopupExtender ID="modelPopupExtender1"
     CancelControlID="Btcancel"
    PopupControlID="Panel1" TargetControlID="Button1"  
    Drag="true" BackgroundCssClass="ModelPopupBG" 
    runat="server" DropShadow="True" 

    >

现在在 Panel1 我有 2 个图像按钮。 1)搜索输入的数据(我使用文本框输入)并将数据填充到gridview1 和2)取消弹出窗口。

<asp:Panel ID="Panel1" runat="server" >  
<div class="HelloWorldPopup">    
<div class="PopupBody">
<div class="PopupHeader" id="PopupHeader"><b ><p style="margin-top: 10px">  Selection Panel</p></b></div><div id="UpperBody">  
    <table border="1" runat="server">
    <tr>
        <th >
        <asp:TextBox ID="entry" runat="server"></asp:TextBox></th><th>
        <asp:DropDownList ID="DropDownList1" runat="server" CssClass="dropdowns">
        <asp:ListItem Text="Name"  >
        </asp:ListItem><asp:ListItem Text="Address" >
        </asp:ListItem><asp:ListItem  Text="Telephone">
        </asp:ListItem></asp:DropDownList></th><th>
         <asp:ImageButton ID="Btok" runat="server" onclick="Btok_Click"  ImageUrl="~/images/isearch.png"/>
       </th>
        <th  >
       <asp:ImageButton ID="Btcancel" runat="server" ImageUrl="~/images/cancel.gif" />         
       </th>           
        </tr>                   
    </table>
    </div>   
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        style="margin-top: 11px" BackColor="White" BorderColor="White" 
        BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" 
        GridLines="None" Width="100%"      onselectedindexchanged="GridView1_SelectedIndexChanged" >
        <Columns>
            <asp:BoundField DataField="id" HeaderText="ID" Visible="False" />
            <asp:BoundField DataField="name" HeaderText="Name" />
            <asp:BoundField DataField="address" HeaderText="Address" />
            <asp:BoundField DataField="telephone" HeaderText="Telephone" />
            <asp:CommandField HeaderText="Select" ShowSelectButton="True" />
        </Columns>
        <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
        <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
        <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
        <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" />
        <SortedAscendingHeaderStyle BackColor="#594B9C" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#33276A" />
    </asp:GridView>


</div>

一切都很好,但我面临的唯一问题是整个页面正在刷新,而不仅仅是 gridview1 而我只想在单击 BtOk

我想为那个 gridView 使用 updatePanel 可以为我解决问题.. 但不知道如何...... 我该怎么办??

【问题讨论】:

    标签: asp.net .net ajax


    【解决方案1】:

    我认为您有答案 - UpdatePanel(这是一种方法)

    <asp:UpdatePanel runat="server" ID="GridUpdatePanel">
    <ContentTemplate>
    
       <asp:GridViewID="GridView1" runat="server">
        </asp:GridView>
    
    </ContentTemplate>
    </asp:UpdatePanel>
    

    只需创建一个 UpdatePanel 标记,并将您的 GridView 放在 ContentTemplate 之间

    【讨论】:

    • 即将发出哪种类型的通知?
    • 实际上我已经在我的程序中添加了一个类,它有一个 javascript 方法,它简单地显示作为消息传递的任何字符串.. 'public class MessageBox { public static void Show(string message, Control owner) {页面页面=(所有者为页面)??所有者.页面; if (page == null) 返回; page.ClientScript.RegisterStartupScript(owner.GetType(), "ShowMessage", string.Format("", message)); }'
    猜你喜欢
    • 2010-09-07
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 2012-02-22
    • 2018-12-08
    • 2014-03-23
    相关资源
    最近更新 更多