[英]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.