请考虑以下代码:
<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>
该按钮将触发面板更新。我想通过搜索字段的keydown触发更新,所以我用一个单击按钮的jQuery语句“伪装”它。我想知道......必须有更好的方法......对吧!?
答案 0 :(得分: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">
您只需要为updatepanel提供一个ID(此处为updatePanel)
在密钥上或任何准备好的时候执行该代码。
答案 1 :(得分:1)