超链接无法在转发器中工作 [英] Hyperlink is not Working In repeater

查看:53
本文介绍了超链接无法在转发器中工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我试图在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆