I have a menu that I'm making with a repeater in asp and the first row of the menu is working and I want to add drop down options in the menu with the second repeater but from the class I don't have access to Repeater2
.
<asp:Repeater id="Repeater1" runat="server" >
<itemtemplate runat="server">
<ul class="rmenue" runat="server">
<li><a>
<asp:Label runat="server" ID="Label1"
text='<%# Eval("_name") %>' CommandArgument='<%# Eval("_url") %>' />
<asp:Repeater id="Repeater2" runat="server" >
<itemtemplate runat="server">
<ul class="menue" runat="server">
<li><a>
<asp:Label runat="server" ID="Label2"
text='<%# Eval("_name") %>' CommandArgument='<%# Eval("_url") %>' />
</a></li>
</ul>
</itemtemplate>
</asp:Repeater>
</a></li>
</ul>
</itemtemplate>
</asp:Repeater>
public partial class Master : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
List<Buttons> ds = new List<Buttons>();
ds.Add(new Buttons("Home", "blahbla"));
ds.Add(new Buttons("ACCOUNTS", "blahbla"));
ds.Add(new Buttons("ACCOUNTS", "blahbla"));
ds.Add(new Buttons("PLAT", "blahbla"));
ds.Add(new Buttons("EDU", "blahbla"));
ds.Add(new Buttons("ABOUT", "blahbla"));
ds.Add(new Buttons("CONTACT US", "blahbla"));
Repeater1.DataSource = ds;
Repeater1.DataBind();
}
}
public class Buttons
{
public string _name { get; set; }
public string _url { get; set; }
public ArrayList<Buttons> drop = new ArrayList<Buttons>();\\this is the data for the second repeater
public Buttons() { }
public Buttons(string name,string url) {
this._name = name;
this._url = url;
}
}
You can achieve this but you need to do it in the code behind.
In your 1st Repeater you need an
OnItemDataBound
event;OnItemDataBound="Repeater1_ItemDataBound"
In the codebehind: