你能在asp.net中基于一个单独的窗口执行一个动作吗?

时间:2009-11-16 09:18:10

标签: asp.net

我有一个搜索结果页面,点击一个会打开一个新窗口,在那里他们会编辑有关它的信息。一旦完成,他们当前必须再次点击“搜索”以刷新结果以确保其正确保存(它刷新搜索结果并反映新状态)。

有没有办法根据弹出窗口关闭或通过其他方式触发页面自动刷新(即自动点击搜索按钮)?

4 个答案:

答案 0 :(得分:1)

我在没有弹出窗口的情况下回应这种情绪,但如果你真的需要......

我会使用围绕结果的更新面板执行此操作,并在弹出页面上将一些javascript添加到您的保存按钮。

弹出式页面上,我猜您有一个保存工作的按钮,例如:

<asp:button id="btn_save" runat="server" OnClick="Save" Text="save" />

关于代码隐藏:

protected void Save(object sender, EventArgs e)
{
   // save code ...
   // bla bla

   // Add this
   ClientScript.RegisterStartupScript(this.GetType(), "save", "<script language='javascript'>updateResults();</script>
}

结果页面上添加此

<script language="javascript">
function updateResults()
{
  __doPostBack('updatePanel_results','');
}
</script>

并将结果控件包装在更新面板中(在此示例中称为updatePanel_results)。在page_load中,您可能需要编写代码来调用刷新resutls方法。

答案 1 :(得分:0)

如果可能的话,我真的会避免让应用程序流程跨越两个窗口。当用户点击编辑链接时,为什么不使用某种模态对话?

查看jQuery的模态形式,以了解我的意思:

http://jqueryui.com/demos/dialog/#modal-form

答案 2 :(得分:0)

打开窗口看起来不像是理想的解决方案。

在新窗口中,您可以访问javascript中的父窗口。您可以使用它在邮件窗口中触发刷新/或其他功能。

答案 3 :(得分:0)

  

有没有办法触发页面   自动刷新(即。   自动点击搜索按钮)   基于弹出窗口关闭或   通过其他方式?

您可以为OnUnload事件注册JavaScript事件处理程序。但是,根据我的经验,它不可靠(浏览器到浏览器的不一致等)。

您是否考虑过使用Ajax将搜索结果与原始窗口保持在同一页面上?或者可能是一个小型Silverlight控件?