【问题标题】:Dynamically created linkbutton in C#在 C# 中动态创建的链接按钮
【发布时间】:2016-07-10 00:55:35
【问题描述】:

我的问题是我动态创建了一个表格,其中每个单元格都包含一个链接按钮,单击该按钮时应该从表格中删除该单元格。 (我比这要复杂一些,但我不会详细介绍这些细节,只是说解决方法不行)我已经阅读了一些关于此的帖子,通常提到控件也已(重新)制作在页面加载或之前。我试图运行从页面加载和页面初始化和预初始化运行 setCellContent 的方法,但是 _lnkBntRemoveSlotFromTable_Click 方法 当链接按钮被点击时,永远不会被调用。而且我开始怀疑除了创建/重新创建控件时还有其他问题。

对于表格所包含的每个单元格,执行以下操作:

private TableCell setCellContent(string day, DateTime timeOfDay){
    TableCell newCell = new TableCell();
    LinkButton lb = new LinkButton();
    lb.ID = (++global_counter_id).ToString();
    lb.Text = timeOfDay.ToShortTimeString();
    lb.CommandArgument = timeOfDay.ToString();
    lb.Command += new CommandEventHandler(_lnkBntRemoveSlotFromTable_Click);
    newCell.Controls.Add(lb);
    return newCell;
}

我想被调用的方法:

public void _lnkBntRemoveSlotFromTable_Click(object sender, CommandEventArgs e)
{
    //1. Make changes to the table
}

但该方法永远不会被调用。

【问题讨论】:

  • 表本身在每次回发时都会重新创建?
  • 是的。表格和所有链接按钮都按应有的方式创建。
  • 点击链接按钮后,它会消失吗?
  • 没有。什么都没发生。该表被重新创建,并且本应更改该表的方法从未被调用,因此该表保持不变。唯一缺少的是 lnkbtnremoveslotfromtable_click 正在运行。

标签: c# asp.net dynamic


【解决方案1】:

终于搞定了。一些改变使它工作。它当然与表的创建时间和 id 的创建方式有关。对于其他人的建议,这里是它何时起作用的示例。并确保动态控件的 ID 在页面加载时保持相同。

public partial class _default : System.Web.UI.Page
    {
        static int i = 0;

        protected override void OnInit(EventArgs e)
        {
        base.OnInit(e);
            LinkButton lb = new LinkButton();
            lb.ID = "id";
            lb.Text = "Click me";
            lb.CommandArgument = "argument";
            lb.Command += new CommandEventHandler(method_to_call);
            this.Panel.Controls.Add(lb);
        }

        private void method_to_call(object sender, CommandEventArgs e)
        {
            i++;
            this.Label.Text = i.ToString();
        }

        protected void Page_Load(object sender, EventArgs e)
        {

        }

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-30
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多