手风琴式容器的DNN动态CSS类

时间:2014-11-17 15:40:59

标签: css asp.net twitter-bootstrap webforms dotnetnuke

我正在尝试基于此处看到的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模块的内容中完成我需要的所有手风琴,但我想在这些手风琴中使用特殊的第三方模块。)

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用ModuleID

<div id="collapse<%=ModuleControl.ModuleContext.ModuleId%>" class="panel-collapse collapse">

答案 1 :(得分:0)

您可以考虑使用2Sexy内容模块执行此操作,而不是创建自定义模块。这是一个几乎完美的选择,您可以使用模板中的ModuleID来区分副本。