Dotnetnuke部分渲染使我的jQueryUI小部件停止工作

时间:2011-10-24 09:37:53

标签: jquery-ui dotnetnuke jquery-ui-tabs renderpartial

我想在dotnetnuke 5.6.3中使用jQueryUI的tab小部件 我在我的模块中注册了jQueryUI,它工作正常,但是当我在页面中使用部分渲染时,它无法加载。

这是我的代码:

$(document).ready(function () {
    rastaAdmin();
});
function rastaAdmin() {
var tabdiv = $('#tabul');
var tabvar = tabdiv.tabs();
}

this site有一种方法可以解决我的问题,但它在我的脚本中不起作用。

阅读上述网站后,我将代码更改为:

$(document).ready(function () {
    rastaAdmin();
});
function pageLoad(sender, args) {
    rastaAdmin();
}
function rastaAdmin() {
var tabdiv = $('#tabul');
var tabvar = tabdiv.tabs();
}

这对我不起作用。

我该怎么办?

谢谢

2 个答案:

答案 0 :(得分:6)

我也遇到了使用pageLoad功能的问题(虽然我现在还不记得最终崩溃的地方)。但是,像其他方法一样应该可以正常工作(请参阅DNN 6核心模块中的新jQuery UI设置):

$(document).ready(function () {
    setupDnnSiteSettings();
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
        setupDnnSiteSettings();
    });
});

这里需要注意的是,这会在从任何 UpdatePanel发起的请求返回之后注册设置代码,而不仅仅是您的特定UpdatePanel。在同一个元素上再次调用tabs不应该导致任何问题,但是如果你正在做一些只应调用一次的事情,你会想办法区分。

答案 1 :(得分:2)

谢谢bdukes
在您的帮助之后,我将代码更改为:

$(document).ready(function () {
Sys.Application.add_load(function (s, e) { rastaAdmin(); });
rastaAdmin();
});
function rastaAdmin() {
var tabdiv = $('#tabul');
var tabvar = tabdiv.tabs();
}

它对我来说就像一个魅力!谢谢你的伴侣。