2012-03-10 54 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

相關問題