![](/img/trans.png)
[英]I need to generate a modal popup dynamically that contains a user control when a button/link is clicked
[英]How do I handle an event from a dynamically generated button using a modal dialog popup and custom control?
我有一个具有搜索功能的自定义控件。 当用户单击搜索时,代码将基于搜索结果生成按钮列表。
每个按钮的CommandArgument属性包含搜索结果的ID。 当用户单击按钮时,我要处理事件,获取CommandArgument并使用该值将事件引发回主页。
问题在于按钮没有引发事件。 我认为这是因为它在回发或其他任何操作上都会丢失。 我是否应该考虑使用其他列出值的方法来完成这项工作?
解决这个问题的最简单方法是什么? 这是我所拥有的:
private void Search()
{
foreach (var c in companies)
{
TableRow companyRow = new TableRow();
TableCell nameRowCell = new TableCell();
TableCell regRowCell = new TableCell();
Button selectButton = new Button();
selectButton.CommandArgument = c.Id.ToString();
selectButton.Text = c.Name;
selectButton.Click += new EventHandler(selectButton_Click);
selectButton.CausesValidation = false;
nameRowCell.Controls.Add(selectButton);
companyRow.Cells.Add(nameRowCell);
tblCompanies.Rows.Add(companyRow);
}
}
void selectButton_Click(object sender, EventArgs e) // <- Not getting handled
{
Button btn = (Button)sender;
string id = btn.CommandArgument;
if (id != "" && CompanyFound != null)
CompanyFound(new Company() { Id = int.Parse(id) });
}
我一直在处理您的代码,它的确在屏幕上放置了一个按钮。 浏览器源代码以输入类型Submit Tag的形式显示按钮。 要测试它实际上是在触发,请在您的页面某处添加一个div,也许将其ID设置为testDiv。 然后,在您的selectButton_Click事件处理程序中,添加一行到以下效果:testDiv.innerHtml =“在此处制造”。
如果div更改,则触发您的按钮。
另外,可以在selectButton_Click的空白之前添加受保护的,公共的或其他内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.