【问题标题】:LInkButton is not firing event [duplicate]LINKButton 未触发事件 [重复]
【发布时间】:2017-12-27 08:20:52
【问题描述】:

我正在生成动态表 (testtable),同时我在每行的最后一列中生成 LinkButton,当我单击它时不会被触发。 all("Users") 返回DataTable。请帮忙。

标记

 <asp:UpdatePanel ID="MainUpdatePanel" runat="server" Visible="false">

    <ContentTemplate>

        <asp:Table ID="testTable" runat="server" />

    </ContentTemplate>

</asp:UpdatePanel>

代码

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        TableHeaderRow tHeaderRow = new TableHeaderRow();
        tHeaderRow.TableSection = TableRowSection.TableHeader;
        testTable.Rows.Add(tHeaderRow);

        foreach (DataColumn column in all("Users").Columns)
        {
            TableHeaderCell tHeaderCell = new TableHeaderCell();
            tHeaderCell.Text = column.ColumnName;
            tHeaderRow.Cells.Add(tHeaderCell);
        }

        TableHeaderCell tShowHeaderCell = new TableHeaderCell();
        tHeaderRow.Cells.Add(tShowHeaderCell);

        string id = "";
        int i = 0;


        foreach (DataRow row in all("Users").Rows)
        {


            TableRow tRow = new TableRow();
            tRow.TableSection = TableRowSection.TableBody;

            testTable.Rows.Add(tRow);

            foreach (DataColumn column in all("Users").Columns)
            {
                TableCell tCell = new TableCell();
                tCell.Text = row[column.ColumnName].ToString();
                tRow.Cells.Add(tCell);

                if (column.ColumnName == "id")
                    id = row[column.ColumnName].ToString();
            }

            LinkButton showlink = new LinkButton();
            showlink.Text = "<i class='icon-file'></i>";
            showlink.ID = "linkShow" + "_" + i.ToString();
            showlink.CssClass = "tip-top";
            showlink.CommandArgument = id;


            TableCell tShowCell = new TableCell();
            tRow.Cells.Add(tShowCell);
            tShowCell.Controls.Add(showlink);
            showlink.Click += new EventHandler(Show);
            i++;
        }

    }

protected void Show(object sender, EventArgs e)
{
    // Do stuff
}

【问题讨论】:

  • 因为你使用了更新面板,所以它不会回发页面。您需要强制回发页面。或者您应该必须删除更新面板。
  • 请停止使用 UpdatePanels 并尝试从 javascrip/jquery 等发出请求。UpdatePanels 令人沮丧。
  • 感谢大家的快速回复。 @Ravikumar,你说得对,当我删除更新面板时它可以工作。
  • 我刚开始喜欢 UpdatePanels 现在我必须删除它;( 替换 UpdatePanel 的最佳做法是什么?
  • @Ravikumar 您可以将您的评论作为答案发布,以便我将其标记为正确答案吗?

标签: c# asp.net webforms updatepanel linkbutton


【解决方案1】:

因为您使用了更新面板,所以它不会回发页面。您需要强制回发页面。或者您应该必须删除更新面板。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多