2017-06-18 31 views
-5

我想在html表格(10行,10列)中創建100個按鈕並且想要執行單擊事件。 PLZ幫助我。如何使用C#在html表格中創建按鈕

我已經試過這...

保護無效的Page_Load(對象發件人,EventArgs的){

HtmlTable myTable = new HtmlTable(); 
    for (int i = 1; i <= 100; i++) 
    { 
     HtmlTableRow row = new HtmlTableRow(); 
     HtmlTableCell cell1 = new HtmlTableCell(); 
     cell1.InnerText = "cell" + i; 
     row.Controls.Add(cell1); 
     HtmlTableCell cell2 = new HtmlTableCell(); 
     Button btn = new Button(); 
     btn.Text = i.ToString(); 
     btn.Click += new EventHandler(btn_Click); 
     cell2.Controls.Add(btn); 
     row.Controls.Add(cell2); 
     myTable.Controls.Add(row); 


    } 
    PlaceHolder1.Controls.Add(myTable); 
} 

void btn_Click(object sender, EventArgs e) 
{ 
    Response.Write(((sender) as Button).Text); 
} 

,但它顯示單列OP,我希望它在10×10或5×像下面給出

+0

歡迎來到Stack Overflow!請[參觀](http://stackoverflow.com/tour)以查看網站的工作原理和問題,並相應地編輯您的問題。另請參閱:[爲什麼「有人可以幫我嗎?」不是一個實際的問題?](http://meta.stackoverflow.com/q/284236) –

+0

你有什麼問題?請告訴我們你到目前爲止所嘗試過的以及哪些具體部分給你提出的問題。 – CodingYoshi

+0

我以另一種方式嘗試過,但我不想這樣做。其實我創建在線考試系統,讓我有一個表格中有100個按鈕(100個問題),我想通過單擊1按鈕來提取問題,所以我希望它使用c#,我' m初學者如此plz幫助。 –

回答

-2

因爲你已經標記了asp.net:
你在C#中生成你的Html表嗎? 如果是,那麼您只需將<button></button>放在循環中已有的項目後面。然後,像這樣的網站上顯示:

function createHtml(){ 
      var container = ""; 
      try{ 
       container = '@Html.Raw(ViewBag.headline)'; 
       htmlElement= document.getElementById("yourElementId"); 
       htmlElement.innerText = container; 
      } 
      catch(error){...} 
} 

所以,你只需把它在你的ViewBag與您的控制器中的另一個項目。
一如既往:感謝無聲的讚譽。一如既往的毒性。

那麼因爲輸入的來自評論:
How to create an HTML button that acts like a link?
你試過嗎?
您可以在您的控制器中生成代碼,就像您(可能)使用您的表一樣。只需插入過的位置是這樣的:

StringBuilder sb = new StringBuilder(); 
while(statement){ 
    sb.append("<td><button onclick="myFunction(row,column)">Click me</button></td>"); 
} 

,然後把它在你的ViewBag到視圖。
onclick你定義了什麼函數應該在JavaScript中使用。 也許你應該在你的問題中進一步解釋這個問題。

+1

永遠不要低估'try'-'catch'塊的價值。 –

+0

那麼有時地獄會在一個永遠不會期望的地方爆發... – Garamaru

+1

@garamaru如果你不指望它,不要抓住它。 – CodingYoshi

相關問題