【发布时间】:2021-06-02 01:43:35
【问题描述】:
我的代码使用事件处理程序呈现删除按钮。将代码放在表单的 .aspx.cs 中,然后触发事件处理程序,一切正常。当我将代码移动到用户控件时,我单击删除按钮并弹出确认消息,不执行任何其他操作。它不运行,你不能在调试器等中运行它。
doDelete278T 函数在用户控件中。
当代码在用户控件中时,为什么 C# 不运行 doDelete278T 函数?
代码示例:
try
{
SqlDataReader r = cmd.ExecuteReader();
int j = 0;
short tabby = 32;
if (r.HasRows)
pnl_278t.Visible = true;
while (r.Read())
{
LinkButton lbt = new LinkButton();
lbt.ID = "delete_" + r[_folderName + "_FT278T_UID"].ToString();
lbt.CausesValidation = false;
lbt.Text = "X";
lbt.Click += new EventHandler(doDelete278T);
lbt.OnClientClick = "return confirm('Are you sure you want to delete this 278T Record?')";
lbt.TabIndex = tabby++;
pnl_add278t.Controls.Add(lbt);
pnl_add278t.Controls.Add(new LiteralControl(" "));
j++;
}//end while
//tbx_278T_count.Text = j.ToString();
}
【问题讨论】:
-
我已经多次看到这种问题,但从来没有处理过它(提前sry),但我想知道,使用用户控件、新按钮和页面,如果添加
this在这里有什么不同?lbt.Click += new EventHandler(this.doDelete278T);. -
刚遇到这个,似乎记得这个答案出现了很多次。不肯定它在这里相关但值得一试。 Link。在底部附近回答。
标签: c# asp.net user-controls