asp.net - 自动生成链接列表

标签 asp.net dynamic methods hyperlink

好吧,我试图在页面中创建一个链接列表,该列表是使用 foreach 生成的,并且只要列表中存在对象就循环。这是我用来生成链接的代码:

protected void Page_Init(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["mamlist"] != null)
            {
                mamlist = (List<mammifere>)Session["mamlist"];

                int i = 0;
                foreach (mammifere l in mamlist)
                {
                    mamol.InnerHtml += ("<li><a onClick='select("+i+");' >" + l.Nom + "</a></li>");
                    i++;
                }
            }
        }
    }

由于某种原因,链接无法点击。我明白了:

screenshot of the links

如何创建不指向其他页面而是在页面的 C# 代码中启动方法的链接?

最佳答案

您可以创建LinkButton在 ASPX 代码中调用子例程/方法的控件:

示例代码:

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>LinkButton Example</title>
<script language="C#" runat="server">

      void LinkButton_Click(Object sender, EventArgs e) 
      {
         Label1.Text="You clicked the link button";
      }

   </script>

</head>
<body>

   <form id="form1" runat="server">

      <h3>LinkButton Example</h3>

      <asp:LinkButton id="LinkButton1" 
           Text="Click Me" 
           Font-Names="Verdana" 
           Font-Size="14pt" 
           OnClick="LinkButton_Click" 
           runat="server"/>

      <br />

      <asp:Label id="Label1" runat="server" />

   </form>

</body>
</html>

根据您的具体情况,添加 ContentPlaceHolder在您的母版页中:

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server" />

在您希望显示链接的页面中添加 Content像这样控制:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

</asp:Content>

然后 foreach 你想要的链接,执行以下操作:

foreach (mammifere l in mamlist)
{
    LinkButton linkButton = new LinkButton();

    linkButton.Text = l.Nom;

    linkButton.OnClick= "LinkButton_Click";

    linkButton.ID = l.Nom;     

    Content1.Controls.Add(linkButton);
}

关于asp.net - 自动生成链接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13003739/

相关文章:

java - 使用 TestNG 和 Java 从另一个类调用方法

ASP.NET 发布 Application_Error 事件

c# - 派生类中复杂对象的类型转换

c - scanf动态分配

c++ - 重载 >> 动态 c 字符串类的运算符

java - 如何使用变量名调用java方法?

java - java中非静态方法如何访问静态成员?

c# - C#中html内容的显示

asp.net - 如何将 javascript 文件的服务限制为仅通过身份验证的用户?

c# - 独立动态表单编辑器 + 序列化 + C# 本地化