c# - DNN 6 jQuery 选项卡

标签 c# jquery asp.net dotnetnuke

我已经尝试过几次失败,无法让 DNN 6 版本的 jQuery 选项卡(称为 DNNTabs)在自定义模块“编辑”页面(以模式方式打开,类似于模块“设置”)中工作。我希望将相同的默认主题/CSS 应用于选项卡和按钮(它的行为应该几乎与“设置”完全相同)。

这似乎是一些文档的开始,但它并不很完整。

http://www.dotnetnuke.com/Resources/Wiki/Page/dnnTabs-jQuery-Plugin.aspx

我在互联网上搜索了一个可供遵循的示例,但大多数示例都利用原始的 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 处理程序。通常,OnInitControl.OnInit 的重写,因此它最终看起来像这样:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    jQuery.RequestDnnPluginsRegistration();
}

您可能还想查看我的这个(和其他)插件的示例,地址为 https://github.com/bdukes/DNN-World-Demos 。这些示例非常精简,因此您会发现其中有一些您并不真正需要的 CSS 样式(如果您不使用它们的话)。

关于c# - DNN 6 jQuery 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014420/

相关文章:

c# - 在 Visual Studio Enterprise 2017 中缺少创建 GUID?

c# - 设置任务管理器文件名

c# - 如何获取 .Net Core 控制台应用程序的 .exe 文件所在目录的路径?

javascript - AJAX+Laravel : after I successfully do process in AJAX, 其他功能无法使用

c# - 在 asp.net MVC 中调用 AJAX 后呈现 View

javascript - jQuery on drop 没有触发?

javascript - BlueImp FileUpload 不上传特定大小的文件

c# - 正确的连接字符串语法

c# - ASP.NET 自动执行页面

c# - 缩小字符串 C#