DNN 6 jQuery Tabs
本文关键字:Tabs jQuery DNN | 更新日期: 2023-09-27 18:21:32
我已经尝试过几次,但都失败了一半,无法让DNN6版本的jQuery选项卡(称为DNNTabs)在自定义模块"编辑"页面中工作(该页面以模式打开,类似于模块"设置")。我希望将相同的默认主题/css应用于选项卡和按钮(它的行为应该几乎与设置完全相同)。
这似乎是一些文档的开始,但并不十分完整。
http://www.dotnetnuke.com/Resources/Wiki/Page/dnnTabs-jQuery-Plugin.aspx
我已经在interwebs中搜索了一个示例,但大多数示例都使用了原始的jQuery选项卡和/或对其进行了修改,以"使用"DNN。
http://jqueryui.com/demos/tabs/
我的代码的开头不起作用。
<script type="text/javascript">
$('#tabs').dnnTabs();
</script>
<div id="tabs" class="dnnForm dnnModuleSettings dnnClear">
<ul class="dnnAdminTabNav dnnClear">
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
</ul>
<div id="tab1">
Some content...
</div>
<div id="tab2">
Some content...
</div>
</div>
在其他地方,我读到我必须在我的OnInit中申请DNN插件注册,就像这样:
protected void OnInit(object sender, System.EventArgs e)
{
DotNetNuke.Framework.jQuery.RequestDnnPluginsRegistration();
}
我是不是错过了另一个参考、代码行或其他什么?1) 所有选项卡都在加载时显示,2)单击选项卡只会滚动到模态中的id位置(之后无法滚动回顶部)
我认为这看起来很完整;我看到的唯一问题是,在定义选项卡之前,您正在初始化插件。也就是说,您要做的第一件事是用ID选项卡检索元素,并为其设置插件,但该元素还不存在。把你的脚本移到你控制的底部,我想它就会开始工作了。
您可能需要调整的另一件事是OnInit
处理程序。通常,OnInit
是对Control.OnInit
的覆盖,所以它最终看起来像这样:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
jQuery.RequestDnnPluginsRegistration();
}
你可能还想看看我的这个(和其他)插件的例子https://github.com/bdukes/DNN-World-Demos.这些例子都是精简的,所以如果你不使用它们,你会发现有一些CSS样式不是你真正需要的。