How to prevent a dropdownlist from postback or updating inside an updatepanel when button is clicked(单击按钮时如何防止下拉列表回发或在更新面板内更新)
问题描述
如何在单击按钮时防止下拉列表在更新面板内回发或更新.我这样做是因为我有 java 脚本来使 ddl 成为可搜索的下拉列表.我在更新面板中有一些标签、文本框、网格视图和下拉列表.当我点击查看按钮时,下拉列表会变回普通下拉列表而不是可搜索的下拉列表.
<asp:DropDownList ID="ddlSector" runat="server" Width="150px"></asp:DropDownList><asp:DropDownList ID="ddlCity" runat="server" Width="150px"></asp:DropDownList><asp:TextBox ID="txtStdID" runat="server" Width="92px" MaxLength="5"></asp:TextBox><asp:Button ID="btnView" runat="server" Text="View" onclick="btnView_Click" AccessKey="V"/><表格><tr><td><b>资格</b></td><td><b>豁免类型</b></td></tr><tr><td><asp:DropDownList ID="ddlQualification" class="chzn-select" runat="server" Width="225px" onselectedindexchanged="ddlQualification_SelectedIndexChanged"AutoPostBack="false"></asp:DropDownList></td><td><asp:DropDownList ID="ddlExemType" runat="server" Width="225px"></asp:DropDownList></td></tr><script src="../Searchable DDL/jquery.min.js"type="text/javascript"></script><script src="../Searchable DDL/chosen.jquery.js"type="text/javascript"></script><script type="text/javascript">$(".chzn-select").chosen();$(".chzn-select-deselect").chosen({ allow_single_deselect: true });</script>
即使没有完整的 PostBack,UpdatePanel 中的所有内容仍然会刷新,因此 DOM 丢失了使用 jquery 修改的元素.
您还需要在异步回发后调用创建可搜索下拉列表的函数.
How to prevent a dropdownlist from postback or updating inside an updatepanel when button is clicked. I am doing this because i have java script to make ddl a searchable dropdownlist. i have a few labels, textboxes, gridviews and dropdownlist inside an update panel. when i click view button dropdownlist turns back into normal dropdown insteads of searchable dropdown.
<div>
<asp:DropDownList ID="ddlSector" runat="server" Width="150px"></asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server" Width="150px"></asp:DropDownList>
<asp:TextBox ID="txtStdID" runat="server" Width="92px" MaxLength="5"></asp:TextBox>
<asp:Button ID="btnView" runat="server" Text="View" onclick="btnView_Click" AccessKey="V"/>
<table>
<tr><td><b>Qualification</b></td><td><b>Exemption Type</b></td></tr>
<tr>
<td><asp:DropDownList ID="ddlQualification" class="chzn-select" runat="server" Width="225px" onselectedindexchanged="ddlQualification_SelectedIndexChanged"
AutoPostBack="false"></asp:DropDownList></td>
<td>
<asp:DropDownList ID="ddlExemType" runat="server" Width="225px">
</asp:DropDownList></td>
</tr>
</table>
</div>
<script src="../Searchable DDL/jquery.min.js"type="text/javascript"></script>
<script src="../Searchable DDL/chosen.jquery.js"type="text/javascript"></script>
<script type="text/javascript">
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });</script>
Even though there is no full PostBack, everything inside the UpdatePanel still gets refreshed and so the DOM loses the elements that were modified with jquery.
You need to call the function that created the searchable dropdownlists after a async PostBack also.
<script type="text/javascript">
$(document).ready(function () {
createSearchDropDown();
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
createSearchDropDown();
});
function createSearchDropDown() {
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
}
</script>
这篇关于单击按钮时如何防止下拉列表回发或在更新面板内更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:单击按钮时如何防止下拉列表回发或在更新面板
基础教程推荐
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
