我有一个服务器端方法,可能需要很长时间。我决定显示一个加载过程模式,为此我使用了这个tutorial。它工作得很好,但我的问题如下。
我使用的是同一页面上的jQuery UI/Tab,它包含两个选项卡。回发时,所有UI都会丢失样式。据我所知,问题出在UpdatePanel
中,建议的解决方案是使用函数pageLoad()
。但它部分地解决了我的问题,因为最后选择的选项卡在回发时不会保留。
在实现加载模型过程之前,它工作得很好,我使用了以下代码:
$(function() {
$("#tabs").tabs({
show: function() {
var sel = $('#tabs').tabs('option', 'selected');
$("#<%= hidLastTab.ClientID %>").val(sel);
$( "#tabs" ).tabs( "option", "disabled", [<%= hidDisTab.Value %>] );
},
selected: <%= hidLastTab.Value %>
});
});
对此有什么解决方案吗?
发布于 2011-12-19 16:40:51
我也有类似的问题,我用以下方法解决了这个问题:
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(load_lazyload);
load_lazyload();
}
function load_lazyload() {
//here you need to add the jquery functions related to the tabs, as well as other jquery code you may have
//i.e.
$(function () {
$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
});
}
希望这能帮上忙
更新:对于您的特定情况,可能是这样的:
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(load_lazyload);
load_lazyload();
}
function load_lazyload() {
$(function() {
$("#tabs").tabs({
show: function() {
var sel = $('#tabs').tabs('option', 'selected');
$("#<%= hidLastTab.ClientID %>").val(sel);
$( "#tabs" ).tabs( "option", "disabled", [<%= hidDisTab.Value %>] );
},
selected: <%= hidLastTab.Value %>
});
});
}
发布于 2011-12-19 16:40:59
您需要注册一个ClientSideScript,用于在回发期间执行的任何事件/方法中选择当前选项卡。
https://stackoverflow.com/questions/8558750
复制相似问题