C# ASP.net 如何在按钮事件结束时添加 page/panel 的重新加载?

C# ASP.net How to add a reload of the page/panel at the end of a button event?

我有一个页面,其中包含一个带有 DropDownList 的更新面板、一个文本框和一个按钮。更新面板有一个按钮触发器。这适用于我所有的 "error" 个案例,例如 "No input!",当我弹出一个警报时 ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(),"noName", "window.onload = function(){alert('Please enter a username!');window.location ='Accounts.aspx';}", true);等。

但是,当我没有按下警报并且按钮事件全部运行时,我似乎应该降落在某个死区。即使代码运行(通过调试检查),我的警报也会停止显示,按钮事件仍会按应有的方式执行所有任务。但是,如果我刷新页面,我会得到经典的: To display webpage again。单击重试后,我的 "latest" 消息弹出,然后它就像第一次加载时一样工作。

因此,我猜测我的按钮上的 PostBackTrigger 在事件执行之前或期间触发了 PostBack,因为当事件完成时,在我重新加载之前不会再发生任何事情。我在想我需要在按钮事件结束时添加一个重新加载。因此我的问题是:如何在按钮事件结束时添加 page/panel 的重新加载?

编辑: 忘了提到当按钮事件运行时它应该编辑 web.config 文件,如果这不知何故可能导致我的问题。

我找到了解决我的问题的方法,方法是删除我的触发器并改为使用:

ScriptManager1.RegisterPostBackControl(Button);

那我也可以放一个:

UpdatePanel1.Update();

在我的按钮事件结束时。