【发布时间】:2009-10-14 10:45:16
【问题描述】:
当用户对我的服务器页面(另一个 asp.net 页面)进行 ajax 调用时,我想创建一个 asp.net 按钮控件/链接按钮控件,并且我不想对此按钮的按钮单击事件执行某些操作。这该怎么做 ?我需要使用委托吗?
【问题讨论】:
当用户对我的服务器页面(另一个 asp.net 页面)进行 ajax 调用时,我想创建一个 asp.net 按钮控件/链接按钮控件,并且我不想对此按钮的按钮单击事件执行某些操作。这该怎么做 ?我需要使用委托吗?
【问题讨论】:
不,您不需要委托,它将为您创建。在您的 AJAX 回调中,您应该执行以下操作:
Button btn = new Button();
btn.Click += MyOnClickMethod; // must use +=, not =
btn.Text = "click me";
myUpdatePanel.Controls.Add(btn); // the AJAX UpdatePanel that you want to add it to
myUpdatePanel.Update(); // refresh the panel
方法 MyOnClickMethod 必须具有与普通 Click 处理程序相同的签名。这样的事情会做:
protected void MyOnClickMethod(object sender, EventArgs e)
{
// do something
}
就是这样。动态控制涉及许多错综复杂的事物,但其基础如上所述。
【讨论】: