【问题标题】:.Net - Dynamically adding ASP button at runtime to table in ASPX.Net - 在运行时将 ASP 按钮动态添加到 ASPX 中的表中
【发布时间】:2018-08-09 02:33:13
【问题描述】:

我需要在运行时在我的 aspx 表格中添加按钮

table.Append("<table border='1' class='table table-striped' width='450px'>");
table.Append("<tr><th>Facilities</th><th>Size</th><th>InterestRate</th><th>View in Doc</th>");
table.Append("</tr>");

if (dr.HasRows)
{
    while (dr.Read())
    {
        table.Append("<tr >");
        table.Append("<td>" + dr[0] + "</td>");
        table.Append("<td>" + dr[1] + "</td>");
        table.Append("<td>" + dr[2] + "</td>");
        table.Append("<td>" + <asp:Button ID = 'btnOpenDoc' runat = 'server' CssClass = 'button rounded' Width = '200px' Text = 'Open Document' OnClick = 'RunPowerShellScript_OnClick()'/> + "</td>");
        table.Append("</tr>");
    }

}

我对这条线有疑问:

table.Append("<td>" + <asp:Button ID = 'btnOpenDoc' runat = 'server' CssClass = 'button rounded' Width = '200px' Text = 'Open Document' OnClick = 'RunPowerShellScript_OnClick()'/> + "</td>");

【问题讨论】:

  • table 变量的类型是什么?另请注意,您也在创建重复的 ID,这是一个 VeryBadThing。

标签: asp.net html-table


【解决方案1】:

您不能通过连接字符串来添加服务器控件。

试试这个,

伪代码

<form id="form1" runat="server">
<div>
    <asp:Table ID="table" runat="server">
        <asp:TableRow>
            <asp:TableCell>

            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>    
</div>
</form>

代码隐藏

protected void Page_Load(object sender, EventArgs e)
{
        Button btn = new Button()
        {
            ID = "btnOpenDoc",
            CssClass = "button rounded",
            Width = 200,
            Text = "Open Document"
        };
        table.Rows[0].Cells[0].Controls.Add(btn);
        btn.Click += RunPowerShellScript_OnClick;
}

protected void RunPowerShellScript_OnClick(object sender, EventArgs e)
{

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 2016-04-30
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多