ASP.Net Button和onclick事件不起作用

时间:2017-03-11 19:23:03

标签: c# asp.net button onclick

我在他们的单元格中创建了一个带有按钮的动态表格,但是当我点击某个按钮时,在控制台中显示此错误:

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;
}

1 个答案:

答案 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);