超链接无法在转发器中工作 [英] Hyperlink is not Working In repeater
本文介绍了超链接无法在转发器中工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我试图在asp.net中使用转发器显示数据,我在转发器中遇到超链接的问题
第一个li标签工作正常
Hi
I tried to Show data using repeater in asp.net , I am facing a problem with hyperlink in repeater
The First li tag that is working Fine
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li class="subMenu open"><a href ="../../../../Index.aspx?id=<%# Eval("Id")%>"><%#((Name_Repeater)Container.DataItem).Name %></a>
and Hyperlink in 2nd li Tag is not working
<HeaderTemplate>
<ul>
</HeaderTemplate>
<li><a href ='../../../../Index.aspx?id=<%# Eval("Id_Sub")%>'><%#((Name_Repeater)Container.DataItem).Subname %></a></li>
<FooterTemplate>
</ul>
</FooterTemplate>
</li>
</ItemTemplate>
</asp:Repeater>
%#((Name_Repeater)Container.DataItem).Su bname它显示数据,但超链接不起作用。
Aspx.cs代码
%#((Name_Repeater)Container.DataItem).Subname its show me the data , but the hyperlink is not working .
Aspx.cs Code
DataTable dt;
Category Category_Class = new Category();
Category_Class.retrieve_category_by_all(ref Connection_String, out dt);
List<Name_Repeater> Repeater = new List<Name_Repeater>();
for (int a = 0; a < dt.Rows.Count; a++)
{
Name_Repeater qq = new Name_Repeater();
string Category_Name = Convert.ToString(dt.Rows[a]["category_name"]);
Category_id = Convert.ToByte(dt.Rows[a]["category_id"]);
DataTable dt2;
Subcategory Sub_Class = new Subcategory();
Sub_Class.retrieve_Subcategory_by_Category_Id(ref Connection_String, ref Category_id, out dt2);
string Sub_Cate_Name = "";
for (int x = 0; x < dt2.Rows.Count; x++)
{
Sub_Category_id = Convert.ToByte(dt2.Rows[x]["subcategory_id"]);
Sub_Cate_Name = Sub_Cate_Name + Convert.ToString(dt2.Rows[x]["subcategory_name"] + "<br>");
qq.Nag_Url = "../../../../../../../Index.aspx?Cat_Id=" + Sub_Category_id;
}
qq.Id_Sub = Sub_Category_id;
qq.Name = Category_Name;
qq.Subname = Sub_Cate_Name;
qq.Id = Category_id;
// qq.Id_Sub = Sub_Category_id;
Repeater.Add(qq);
}
Repeater1.DataSource = Repeater;
Repeater1.DataBind();
推荐答案
这假定为简单列表。如果您正在尝试子项目,那么您必须在项目中添加新的转发器(见下文)
This assumes simple list. If you're trying to do subitems then you have to add new repeater within the item (see below)
<asp:repeater id="Repeater1" runat="server" xmlns:asp="#unknown">
<headertemplate>
<ul>
</ul></headertemplate>
<itemtemplate>
<li class="subMenu open"><a href="../../../../Index.aspx?id=<%# Eval(" id=")%>"><![CDATA[<%#((Name_Repeater)Container.DataItem).Name %></a>
<footertemplate>
</footertemplate>
</li></itemtemplate></asp:repeater>
子项目 - 这将在第一级项目中创建子项目,但它仍会选择整个列表,除非它被隐藏直到悬停/点击
Subitems - this will create subitems in first-level item, but it will still select whole list unless it is hidden until hovered / clicked
<asp:repeater id="Repeater1" runat="server" xmlns:asp="#unknown">
<headertemplate>
<ul>
</ul></headertemplate>
<itemtemplate>
<li class="subMenu open"><a href="../../../../Index.aspx?id=<%# Eval(" id=")%>"><![CDATA[<%#((Name_Repeater)Container.DataItem).Name %></a>
<asp:repeater id="innerRepeater" runat="server">
<headertemplate>
<ul>
</ul></headertemplate>
<itemtemplate>
<li><a href="../../../../Index.aspx?id=<%# Eval("Id_Sub")%>"><![CDATA[<%#((Name_Repeater)Container.DataItem).Subname %></a></li>
</itemtemplate>
<footertemplate>
</footertemplate>
</asp:repeater>
</li>
</itemtemplate>
<footertemplate>
</ul>
</footertemplate>
</asp:repeater>
这篇关于超链接无法在转发器中工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文