我在他们的单元格中创建了一个带有按钮的动态表格,但是当我点击某个按钮时,在控制台中显示此错误:
Uncaught ReferenceError: bttn_Click is not defined
at HTMLUnknownElement.onclick (VM51 panel.aspx:1)
这就是我在html和asp.net中创建按钮的方式:
StringBuilder htmlStr = new StringBuilder();
htmlStr.Append("<asp:button onclick='bttn_Click' class='btn btn-warning btn-xs' ID='Bttn_PDF'>PDF</asp:button>");
PlaceHolder1.Controls.Add(new Literal { Text = htmlStr.ToString() });
和C#
protected void bttn_Click(object sender, CommandEventArgs e)
{
Button btn = (Button)sender;
string btnid = btn.CommandArgument;
test.Text = btnid;
}
答案 0 :(得分:1)
这是因为onclick
事件实际上需要调用特定于Javascript的事件,而您当前正在尝试调用服务器端事件。在实际的ASP.NET Button控件上定义此类事件时,您希望改为使用OnClientClick
事件。但是,这并不重要,因为您希望定位服务器端事件而不是客户端事件。
构建按钮服务器端
您可能想要做的是创建一个实际的Button控件,定义指向您的方法的click事件处理程序,然后将该控件添加到页面而不是构建字符串:
// Build your button with its specific properties
Button button = new Button();
button.ID = "Bttn_PDF";
button.CssClass = "btn btn-warning btn-xs";
// Wire up its click event
button.Click += bttn_Click;
// Add it to the form
PlaceHolder1.Controls.Add(button);