2009-09-06 110 views
0

我想在c#中生成一個動態html按鈕,但是當我運行代碼時,按鈕正在生成。我試圖以2種不同的方式生成動態按鈕,但沒有一個爲我工作。如果代碼有任何問題,請讓我試一試。我在頁面_Load和page_init事件中嘗試過。這裏是我的代碼,我正在使用它.........顯示HTML動態按鈕

protected void page_Init(object sender,EventArgs e)

{    

    Table tblControls = new Table(); 

    TableRow trControl1 = new TableRow(); 

    TableCell tdControl1 = new TableCell(); 

    tdControl1.Text = "<input id='Submit" + "' runat='server' type='button' value='Submit' onclick='alert('Yahooooo');' onserverclick='Submit_Click'></input>"; 

    trControl1.Cells.Add(tdControl1);     

    tblControls.Rows.Add(trControl1); 





    int i = 1; 

    string strMessage = "hi"; 

    HtmlButton htmSubmit = new HtmlButton(); 

    htmSubmit.ID = "Submit" + i; 

    htmSubmit.InnerHtml = "Submit"; 



    htmSubmit.Attributes.Add("onclick", "alert('Yahoooooo');"); 





    htmSubmit.Attributes.Add("GuestId", "GuestUserId" + i.ToString()); 

    htmSubmit.Attributes.Add("UserId", "UserId" + i.ToString()); 

    htmSubmit.Attributes.Add("Message", strMessage); 

    htmSubmit.ServerClick += new System.EventHandler(this.Submit_Click); 

} 





protected void Submit_Click(object sender, EventArgs e) 

{ 

    HtmlButton btn = (HtmlButton)sender; 

    string strGuestUserId = btn.Attributes["GuestId"]; 

    string strUserId = btn.Attributes["UserId"]; 

    string strMessage = btn.Attributes["Message"]; 

    Response.Write("Your have clicked " + btn.ID.ToString() + "<br/>" + strGuestUserId + "<br/>" + strUserId + "<br/>" + strMessage); 

} 
+0

問題有點混亂,請整理一下。 – 2009-09-06 03:56:08

+0

謝謝dandres109 ....是的,你說得對,我錯了page.control.add()聲明。當我添加它開始工作....非常感謝你...... – vinodacharyabva 2009-09-06 04:09:24

+0

這仍然是一團糟。請整理一下。您的第一句話是在「代碼模式」中,您的第一行代碼是在「文本模式」中,並且您的代碼有額外的換行符。 – 2009-09-06 04:31:27

回答

1

看起來你錯過了將tblControls添加到Page.Controls集合的語句。您可能還打算將動態按鈕添加到tdControl1控件中。