【问题标题】:add "please wait" javascript modal to aspx DetailView insert button将“请稍候”javascript模式添加到aspx DetailsView插入按钮
【发布时间】:2016-07-26 02:12:02
【问题描述】:

使用 aspx DetailsView 的插入功能。希望在处理新记录并将其添加到数据库时显示一个 javascript 模式弹出窗口。我可以在 DetailsView_ItemCommand 中钩住按钮单击。它不起作用,所以我开始试图通过简单地显示一个 javascript Alert() 弹出窗口来弄清楚发生了什么。但不能让它工作。下面是相关的 DetailsView_ItemCommand:

    protected void DetailsViewInsertFPL_ItemCommand(object sender, DetailsViewCommandEventArgs e)
{
    if (e.CommandName == "Insert")
    {
        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "waitMessage", "alert('Please wait while your request is processed');", true);
        return;
    }
}

记录插入后,重定向到另一个aspx页面。

谁能引导我走上正确的道路?我将在旁边查看一些 aspx 页面和 DetailsView 属性,看看是否有一些设置不正确。

【问题讨论】:

  • 将您的DetailView 放入asp:UpdatePanel 并添加asp:UpdateProgress
  • 我会试试 asp:UpdatePanel 和 asp:UpdateProgress 看看它是如何工作的。

标签: javascript c# asp.net


【解决方案1】:

你不能只使用

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "waitMessage", "alert('Please wait while your request is processed');", true);

然后是一个

response.redirect("toanotherpage.aspx");

ScriptManager.RegisterStartupScript 将在页面中的所有元素之后(就在表单的结束标记之前)呈现您的脚本,因此当您在同一代码块上使用响应重定向时不会执行它。

要实现您想要的,您可以执行以下解决方案之一,

  1. 创建一个 Javascript 并为您放置重定向或在此实例中 window.location 在你想要的警报消息之后
  2. 使用其他方法(如引导程序)创建弹出模式,在模式上声明一个带有 response.redirect 代码的按钮。

【讨论】:

    【解决方案2】:

    Alex Kudryashev 建议将 DetailView 包含在 asp:UpdatePanel 中并使用 asp:UpdateProgress 显示“请稍候,同时处理您的请求”为我提供了在这种情况下所需的解决方案。

    这里的用户很少,所以不确定如何给亚历克斯加分,因为他的建议是评论而不是答案。在这种情况下,请随时告诉我如何处理选票。

    谢谢!!!!几天来,我一直在用头撞墙以使其正常工作。

    【讨论】:

      猜你喜欢
      • 2016-11-22
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2010-09-23
      • 1970-01-01
      相关资源
      最近更新 更多