如何在单击按钮时阻止下拉列表在更新面板内进行回发或更新。 我这样做是因为我有java脚本使ddl成为可搜索的下拉列表。我在更新面板中有一些标签,文本框,网格视图和下拉列表。当我点击查看按钮时,下拉列表会变回正常的下拉列表而不是可搜索的下拉列表。
<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>
答案 0 :(得分:2)
即使没有完整的PostBack,UpdatePanel内的所有内容仍然会刷新,因此DOM会丢失使用jquery修改的元素。
您还需要在异步PostBack之后调用创建可搜索下拉列表的函数。
<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>
答案 1 :(得分:0)
在javascript的pageLoad事件中编写你的javascript函数。
它总是会在回发中执行,也会在部分回发中执行。
查找以下功能代码
function pageLoad() {
//This will ensure your code will run all the time
CreateDropdown();
InitializeDatePickers();
AssignPlugins();
}