2012-03-10 57 views
-1

C#代码,我使用C#代码创建的链接按钮,但这些都没有能够点击,为什么? 这是C#代码创建LinkBut​​ton的使用不工作

<% { 
     List<string> PMlist = new List<string>(); 
     PMlist = PManifacutrerList; 
     foreach (string PM in PMlist) 
     { 
      Response.Write(PM); 
     } 
    } 
%> 

而下面的代码是用来添加列表里的PMlist

PMList.Add(
    "<li><asp:LinkButton ID=\"LinkButton1\" style=\"color: Blue;font-family: Microsoft New Tai Lue; text-decoration: none;\" runat=\"server\">" + 
    ds.Tables[0].Rows[i]["PM_name"].ToString() + "</asp:LinkButton></li>"); 
+0

我从来没有尝试过,但我敢肯定,简单地写与服务器控件定义一个字符串输出效应初探将无法正常工作。你必须实例化控制。 – 2012-03-10 12:36:13

回答

0

你需要编写OnClick事件

+0

你是对的,但是这是最后的选择,但不是第一个按我的经验,我所做的一些事错在我的代码,但没有得到它。 – 2012-03-10 12:37:29

+0

你是对的其实我试图用你的exampla并直接将它们evaluat4ed不同 – 2012-03-10 12:56:11

1

你的Response.Write(PM)是根本将HTML写入响应输出。如果你真的想用一个LinkBut​​ton,你需要创建一个实例:

LinkButton lb = new LinkButton(); 
lb.Text = "click me";    
lb.Click += new EventHandler(delegate (object s, EventArgs ev) { 
    // handle click event 
}); 
form1.Controls.Add(lb); 

如果您不需要服务器回传,那么你可以只使用一个简单的链接,例如:

PMList.Add(
"<li><a href='#' style='color: Blue;font-family: Microsoft New Tai Lue; text-decoration: none;'>" + ds.Tables[0].Rows[i]["PM_name"].ToString() + "</a></li>"); 

希望它有帮助!

0
  1. 为了动态地添加一个控制,必须有一个容器。
  2. 如果您没有网页上的容器,你可以一个placeholder 控制&控件添加到它
  3. 您必须创建控件的实例,将其添加到页面

    Label myLabel = new Label(); 
    myLabel.Text = "Sample Label"; 
    myPlaceHolder.Controls.Add(myLabel); 
    

    Adding Controls dynamically:MSDN

相关问题