我需要为asp.NET中表格的每一行制作一个按钮。我循环使用了数据读取器,并手动创建了一个“输入”按钮。问题是,当我单击页面中的按钮时,它不会调用事件(btnLogin_ServerClick)。
我该如何解决?
对不起,我的英语不好。.我经过下面的代码:
int tmp = 0;
while (dr.Read())
{
myTable += "<tr>";
for(int i = 0; i <= 7; i++)
{
myTable += "<td>";
myTable += dr[i].ToString();
myTable += "</td>";
}
myTable += "<td>";
myTable += "<input class=\"btn btn-primary btn-lg outline\" type=\"button\" runat=\"server\" value=\"More\" name=\"btn" + tmp + "\" id=\"btnLogin" + tmp+ "\" onserverclick=\"btnLogin_ServerClick\" usesubmitbehavior=\"false\" />";
myTable += "</td>";
myTable += "</tr>";
tmp++;
}
//--------------------
//create dynamic table
//--------------------
server_badge.InnerText = tmp + "";
servers_table.InnerHtml = myTable;
}
protected void btnLogin_ServerClick(object sender, EventArgs e)
{
Response.Write("test");
}
你不能
无需添加HTML代码段,请使用Button
此类。您将获得完全相同的HTML结果,但是在代码后面使用的是实际对象,而不是字符串:
Button b = new Button();
b.CssClass = "btn btn-primary";
// and so on ...
Button
对于您可能要配置的每个可想象的HTML属性,该类都有一个属性。你会发现有很多成员,不理会那些谁听起来古怪,坚持那些声音就像你所需要的(CssClass
,Click
,OnClientClick
和这样)。分配了所有需要的内容(在HTML中)后,您终于可以附加一个事件侦听器:
b.Click += new EventHandler(btnLogin_ServerClick);
^ press <TAB> here
当您<TAB>
在之后+=
按时,Visual Studio将生成处理程序方法,并将其包装到适当的事件处理程序对象中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句