Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 自动生成链接列表_Asp.net_Dynamic_Methods_Hyperlink - Fatal编程技术网

Asp.net 自动生成链接列表

Asp.net 自动生成链接列表,asp.net,dynamic,methods,hyperlink,Asp.net,Dynamic,Methods,Hyperlink,好的,我尝试在一个页面中创建一个链接列表,只要列表中有对象,就可以使用foreach和循环生成链接列表。以下是我用来生成链接的代码: protected void Page_Init(object sender, EventArgs e) { if (!IsPostBack) { if (Session["mamlist"] != null) { mamlist = (List

好的,我尝试在一个页面中创建一个链接列表,只要列表中有对象,就可以使用
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++;
                }
            }
        }
    }
受保护的无效页\u Init(对象发送方,事件参数e)
{
如果(!IsPostBack)
{
if(会话[“mamlist”]!=null)
{
mamlist=(列表)会话[“mamlist”];
int i=0;
foreach(Mammiere l在mamlist中)
{
mamol.InnerHtml+=(“
  • ”+l.Nom+“
  • ”); i++; } } } }
    由于某种原因,链接是不可链接的。我明白了:

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

    您可以创建在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>
    
    在要显示链接的页面中,添加如下控件:

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

    你在单引号内有双引号,在双引号内…如果你仔细看,你会发现它是3个独立的双引号。双引号用于生成内容文本,单引号用作实际的html标记出于某些原因,我无法访问内容占位符请参见我的编辑。。。我已经很久没有使用ASP.NET WebForms了……:)
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    
    </asp:Content>
    
    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);
    }