2017-06-18 142 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

相关问题