0

我们在 UpdatePanel 中有以下代码。

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

    <ContentTemplate> 
        <p>Parent Search:
            <asp:TextBox ID="TextBoxSearch" runat="server" Width="207px"></asp:TextBox>
            <asp:Button ID="ButtonSearch" runat="server" Text="Search" />
        </p>
    </ContentTemplate>
 </asp:UpdatePanel>

VB 文件中的代码看起来像这样处理单击“搜索”按钮,因此 GridView 将根据输入到 TextBox 中的值显示数据。

GridView 也在一个单独的 UpdatePanel 中:

Protected Sub ButtonSearch_Click(sender As Object, e As EventArgs) Handles ButtonSearch.Click

    GridViewParentsSummary.DataSource = theTableAdapter.GetData(strSearchText)
End Sub

如果这是正确的做法,我们想创建一个触发器来更新 GridView。

这是网格视图:

    <ContentTemplate> 
        <asp:GridView
            ID="GridViewParentsSummary" 
            runat="server" 
            AllowPaging="True" 
            AllowSorting="True" 
            AutoGenerateColumns="False" 
            DataKeyNames="ID" 
            PageSize="3"
            >

            <Columns>

                <asp:BoundField 
                    DataField="FatherName" 
                    HeaderText="Father's Name" 
                    SortExpression="FatherName" />

                <asp:BoundField 
                    DataField="MotherName" 
                    HeaderText="Mother's Name" 
                    SortExpression="MotherName" />

                <asp:ButtonField 
                    ButtonType="Button" 
                    CommandName="Select" 
                    Text="Select This Parent" />
            </Columns>
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

您能否展示制作正确的触发器以刷新 GridView 所需的代码?

4

1 回答 1

1

如果GridView在另一个中UpdatePanel,它也应该在另一个更新时UpdatePanel更新。默认情况下,该UpdatePanel.UpdateMode属性设置为Always,这将导致所有UpdatePanel页面刷新。

但是,这并不总是所需的行为,因此您多次将其更改为Conditional这意味着UpdatePanel只有在触发其触发器之一时才会刷新。在这种情况下,您需要在ButtonSearch_Click方法中添加这一行:

gridUpdatePanel.Update() 'assuming gridUpdatePanel is the UpdatePanel with the grid

有关该UpdateMode属性的更多信息,请参见此处:http: //msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.updatemode.aspx

于 2012-09-23T14:59:14.127 回答