如何通过TextBox控件触发UpdatePanel?

Kee*_*ker 6 asp.net ajax triggers updatepanel ajax.net

请考虑以下代码:

<label>Search:</label><asp:TextBox runat="server" ID="search" ClientIDMode="Static" OnKeyUp="$('#searchButton').click();" /><asp:Button runat="server" ID="searchButton" ClientIDMode="Static" />
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:GridView runat="server" DataSourceID="EntityDataSource1" 
            AllowPaging="True" AllowSorting="True" AutoGenerateColumns="true" PageSize="20"
            Width="400" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="searchButton" />
    </Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

该按钮将触发面板更新.我想通过搜索字段的keydown触发更新,所以我用一个单击按钮的jQuery语句"伪装"它.我想知道......一定有更好的方法......对吧!?

Eri*_*ker 3

您可以执行此操作来刷新更新面板,而无需使用按钮:

<script type="text/javascript">

    function refreshPanel() {
        __doPostBack('<%= updatePanel.UniqueID %>', '');
    }

</script>
<label>Search:</label>
<asp:TextBox runat="server" ID="search"  
                ClientIDMode="Static" OnKeyUp="refreshPanel();" />
<asp:UpdatePanel runat="server" ID="updatePanel">
Run Code Online (Sandbox Code Playgroud)

你只需要给你的updatepanel一个ID(这里是updatePanel)

在按键时或在您准备好时执行该代码。