我正在尝试基于此处看到的Bootstrap手风琴创建自定义DNN模块容器:http://getbootstrap.com/javascript/#collapse
到目前为止,这是我的代码:
<%@ Control language="vb" AutoEventWireup="false" Explicit="True"
Inherits="DotNetNuke.UI.Containers.Container" %>
<%@ Register TagPrefix="dnn" TagName="TITLE" Src="~/Admin/Containers/Title.ascx" %>
<%@ Register TagPrefix="dnn" TagName="VISIBILITY" Src="~/Admin/Containers/Visibility.ascx" %>
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
<dnn:TITLE runat="server" id="dnnTITLE" />
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body" id="ContentPane" runat="server">
</div>
</div>
</div>
只要具有此容器的模块每页只使用一次,它就能正常工作,但我需要在一个页面上使用这样的多个模块。我需要一种方法来使它collapseOne
将在模块标题周围的链接的href中更改为collapseTwo
(等等),并且在div的id中ContentPane div。我是ASP.net的新手,我不知道该怎么做。
(我会在HTML Pro模块的内容中完成我需要的所有手风琴,但我想在这些手风琴中使用特殊的第三方模块。)
感谢。
答案 0 :(得分:1)
您可以使用ModuleID
<div id="collapse<%=ModuleControl.ModuleContext.ModuleId%>" class="panel-collapse collapse">
答案 1 :(得分:0)
您可以考虑使用2Sexy内容模块执行此操作,而不是创建自定义模块。这是一个几乎完美的选择,您可以使用模板中的ModuleID来区分副本。