【发布时间】:2009-12-15 21:57:58
【问题描述】:
我正在尝试执行以下操作:页面上只有一个 ScriptManager 和一个 UpdatePanel(带有空的 ContentTemplate)。我想在页面加载期间在其上添加一个按钮。然后在按下按钮后,我想获得一个 Ajax 请求并在页面上生成一些动态控件。
但是不行,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
listServices();
}
private void listServices()
{
Button button = new Button();
button.Text = "Save";
button.ID = "Save";
button.Click += new EventHandler(button_Click);
UpdatePanel1.ContentTemplateContainer.Controls.Clear();
UpdatePanel1.ContentTemplateContainer.Controls.Add(button);
AsyncPostBackTrigger trig = new AsyncPostBackTrigger();
trig.ControlID = button.UniqueID;
trig.EventName = "Click";
UpdatePanel1.Triggers.Add(trig);
}
void button_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
我研究过:[在 ASP.NET AJAX 中向 UpdatePanel 动态添加控件][1] 但它并没有解决我的问题。
这样做必须是可能的,许多服务都具有此功能。
感谢您的帮助。 亚当
【问题讨论】:
-
你没有真正详细说明问题是什么......“它不起作用”并没有给我们太多继续。
-
好的,问题是:当页面生成时,我看到了保存按钮。但是当我点击它时,没有触发button_Click事件(但是Page_Load方法是,IsPostBack==false)。
-
hai adam !Ispostback 是个问题...