Repeater

hulei_delphi 2012-04-27 09:00:01
用repeater做个菜单 打开页面其默认为全部展开,如何将其默认不展开???
...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hulei_delphi 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 2 楼 的回复:

引用 1 楼 的回复:
用js控制样式


能详细点么????



JScript code

<script type="javascript">
function CkList(){
document.getElementById("divContent").style.display="block"; //显示下拉菜单部分
}
<……
[/Quote]

我在onload里面给他默认只是不打开子节点..
hulei_delphi 2012-04-27
  • 打赏
  • 举报
回复
function Switch(obj)
{
obj.className = (obj.className == "guideexpand") ? "guidecollapse" : "guideexpand";
var nextDiv;
if (obj.nextSibling)
{
if(obj.nextSibling.nodeName=="DIV")
{
nextDiv = obj.nextSibling;
}
else
{
if(obj.nextSibling.nextSibling)
{
if(obj.nextSibling.nextSibling.nodeName=="DIV")
{
nextDiv = obj.nextSibling.nextSibling;
}
}
}
if(nextDiv)
{
nextDiv.style.display = (nextDiv.style.display != "") ? "" : "none";
}
}
}

我是用的这个方法..
在后台调用 ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>Switch('Repeater1_ctl00_Div1')</script>");没效果
Mirror然 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:
用js控制样式


能详细点么????
[/Quote]


<script type="javascript">
function CkList(){
document.getElementById("divContent").style.display="block"; //显示下拉菜单部分
}
</script>



<div id="divContent" style="display:none">
<asp:repeater>

......... 默认部分
</asp:repeater>
</div>
广交天下好友 2012-04-27
  • 打赏
  • 举报
回复

<head runat="server">
<title>无标题页</title>
<style type="text/css">
h3{height:28px;line-height:28px;width:182px;background-image:url(Images/menu_bg1.gif);background-repeat:no-repeat;font-size:13px;padding-left:30px;cursor:pointer;margin:0;}
td a:link,td a:visited{display:block;height:28px;line-height:28px;width:182px;background-image:url(Images/menu_bg1.gif);background-repeat:no-repeat;padding-left:60px;}
td a:hover{background-image:url(Images/menu_bg2.gif);background-repeat:no-repeat;}
div{margin:0;padding:0;}
</style>
<script type="text/javascript">
function ShowOrHide(obj)
{
if(obj.parentNode.childNodes(1).style.display == "none")
obj.parentNode.childNodes(1).style.display = "block";
else
obj.parentNode.childNodes(1).style.display = "none";
}
</script>
</head>
<body style="width:960px;margin:0 auto;padding:0;background-color:#FFFFFF;font-size:13px;">
<form id="form1" runat="server">
<div style="width:300px;float:left;">
<div>
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<div>
<div onclick="ShowOrHide(this)">
<h3><asp:Literal ID="Literal1" runat="server"></asp:Literal></h3>
</div>
<div style="margin:0;padding:0;display:none;">
<table border="0" cellspacing="0">
<asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="Repeater2_ItemDataBound">
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="HyperLink1" runat="server"></asp:HyperLink></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</div>
</ItemTemplate>
<AlternatingItemTemplate>
<div>
<div onclick="ShowOrHide(this)">
<h3><asp:Literal ID="Literal1" runat="server"></asp:Literal></h3>
</div>
<div style="margin:0;padding:0;display:none;">
<table border="0" cellspacing="0">
<asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="Repeater2_ItemDataBound">
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="HyperLink1" runat="server"></asp:HyperLink></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</div>
</AlternatingItemTemplate>
</asp:Repeater>
</div>
<div style="width:650px;float:right;">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</div>

</div>
</form>
</body>
</html>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class MasterPage : System.Web.UI.MasterPage
{
DB db = new DB();
string Query = null;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1ItemDataBound();
Repeater2ItemDataBound();
}
}

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Literal l = e.Item.FindControl("Literal1") as Literal;
l.Text = DataBinder.Eval(e.Item.DataItem, "title").ToString();
}
}

protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HyperLink h = e.Item.FindControl("HyperLink1") as HyperLink;
h.Text = DataBinder.Eval(e.Item.DataItem, "subTitle").ToString();
h.NavigateUrl = DataBinder.Eval(e.Item.DataItem, "connectTo").ToString();
h.Target = "_blank";
}
}

private void Repeater1ItemDataBound()
{
Query = "SELECT * FROM [title]";
DataTable table = db.GetDataTable(Query);
Repeater1.DataSource = table;
Repeater1.DataBind();
}

private void Repeater2ItemDataBound()
{
foreach (RepeaterItem item in Repeater1.Items)
{
Literal l = item.FindControl("Literal1") as Literal;
Repeater Repeater2 = item.FindControl("Repeater2") as Repeater;
Query = "SELECT A.* FROM [subTitle] A,[title] B WHERE A.[titleID]=B.[id] AND B.[title]='" + l.Text + "'";
DataTable table = db.GetDataTable(Query);
Repeater2.DataSource = table;
Repeater2.DataBind();
}
}
}




Mirror然 2012-04-27
  • 打赏
  • 举报
回复
将repeater生成的内容隐藏,当选择下拉菜单时,通过JS将该内容显示出来

hulei_delphi 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
用js控制样式
[/Quote]

能详细点么????
tan598121925 2012-04-27
  • 打赏
  • 举报
回复
用js控制样式

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧