我有一个转发器,它直接从绑定到我的Outlook的应用程序中列出电子邮件。我需要转发器列出文件夹名称,然后列出该文件夹中的每条消息。但是,我得到的是为该文件夹中的每条消息重复的文件夹名称。
我还尝试使用jquery来切换文件夹名称以显示其下面的消息,但是当我使用style="display:none;"
时,不会显示任何消息。我不认为我试图使用的jquery是对的。它被称为jsfiddle。
任何帮助将不胜感激,因为我正在画一个空白。我一直盯着这个太长时间,可能只是需要休息一下。
这是我的代码:
<script type="text/javascript">
$(function () {
$('a.toggler').on('click', function () {
$('+ div', this).toggle();
});
});
</script>
<asp:Repeater runat="server" ID="ListServRepeater">
<ItemTemplate>
<div class="dataContentSection">
<a href="javascript:void(0);" class="folders toggler">
<h4>
<%# Eval("FolderName") %>
</h4>
</a>
</div>
<div class="dataContentSection">
<div>
<%# Eval("Message") %>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
编辑:我嵌套了中继器,但我不能做正确的事情,因为所有的FolderNames仍然会显示每条消息。
<div runat="server">
<ul>
<asp:Repeater runat="server" ID="FolderRepeater">
<ItemTemplate>
<li class="dataContentSection">
<a href="javascript:void(0);" class="folders toggler">
<h4>
<%# Eval("FolderName") %>
</h4>
</a>
</li>
<asp:Repeater runat="server" ID="MessagesRepeater">
<ItemTemplate>
<li class="dataContentSection" >
<div id="messages">
<%# Eval("Message") %>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
更新:由于@rs提供了一篇文章来帮助我,我能够让中继器工作。如果你查看评论,文章应该仍然存在。我几乎一字不差地接受了它,取代了列名和其他与我的代码相关的内容。仍然看着jquery,无法弄清楚为什么它不起作用。我唯一能想到的是它是动态的,而不是静态的,我试图展示和隐藏的数据。
<div class="dataContentSection">
<a href="javascript:void(0);" class="folders toggler">
<h4>
Folder Name
</h4>
</a>
</div>
<ul>
<div class="dataContentSection">
<div id="message">
Message Text
</div>
</div>
</ul>
</div>
答案 0 :(得分:3)
这个问题是一个两部分问题。关于每个文件夹下的消息的子转发器控制,rs是正确的。一旦通过.Net解决了这个问题,就可以解决显示/隐藏每个文件夹的jquery部分。
可以通过多种不同方式处理jquery部分。下面是一个示例代码,一旦准备好解决jquery部分,就可以引用它:
<script type="text/javascript">
$(function () {
$('a').click(function() {
$(this).parent().children('.dataContentSectionMessages').toggle();
});
});
</script>
<div class="dataContentSection">
<a href="javascript:void(0);" class="folders toggler">
<h4>
Folder 1
</h4>
</a>
<div class="dataContentSectionMessages">
<div id="message1a">
Message 1a
</div>
<div id="message1b">
Message 1b
</div>
</div>
</div>
<div class="dataContentSection">
<a href="javascript:void(0);" class="folders toggler">
<h4>
Folder 2
</h4>
</a>
<div class="dataContentSectionMessages">
<div id="message2a">
Message 2a
</div>
</div>
</div>
这是一个演示上述内容的jsfiddle:http://jsfiddle.net/4PPdz/