我有一个控件覆盖Render()并动态创建HTML, 这是它的简化版本:
public class CReportBillReadings : Control
{
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
writer.Write(Html);
}
private string Html
{
get
{
// render result table
var sb = new StringBuilder();
sb.Append("<ul id=\"export\"><li><a href=\"#\" onclick=\"table_to_pdf(); return false;\"><img src=\"/resources/images/pdfIcon16x16.gif\" /></a></li></ul><div class=\"clear\"></div>");
等等。
它实际上做的是根据给定的数据绘制一张表。
我想在html中添加一个asp按钮, 这样我就可以在服务器端注册它的事件了。
我发现这样做的唯一方法是:
我在这里读到了一个很有希望的领导: http://www.evagoras.com/2011/02/10/how-postback-works-in-asp-net/
但我仍然无法弄清楚如何使用它 - 因为在我看到的例子中,按钮仍然在.aspx中声明,而不是在代码中动态。
答案 0 :(得分:0)
您可以从Button
控件而不是Control
继承您的控件。在这种情况下,您将拥有事件和按钮的所有其他属性。您还可以使用覆盖的Render
方法呈现表格。