【问题标题】:ASP.NET ModalPopupExtender IssueASP.NET ModalPopupExtender 问题
【发布时间】:2009-08-18 19:09:39
【问题描述】:

我遇到了模态弹出扩展器的问题。 我正在做的是将它分配给一个“隐藏”按钮,并在另一个按钮的点击方法上,我正在调用 modal.Show(); 当后面的任务什么都不做,或者小操作时,它工作得很好。问题是当我调用存储过程时,它根本不显示模式。我想要做的是阻止用户点击并通知用户一个进程正在运行(即他们点击一个按钮,需要几秒钟来提取他们请求的所有数据)。

以前有人遇到过这种情况吗?或者有什么建议?

提前感谢您的帮助!

编辑:

这里有一些示例代码(根据要求):

.aspx 页面:

   <asp:Button ID="btnStep1Hidden" runat="server" style="visibility: hidden;" />
   <asp:Button ID="Step1" Text="Pull ID Cards" OnClick="Step1_Click" UseSubmitBehavior="false" runat="server" CssClass="button_menu" />
   <ajax:ModalPopupExtender ID="mpeStep1" runat="server" PopupControlID="panProgress" TargetControlID="btnStep1Hidden" BackgroundCssClass="modalBackground"></ajax:ModalPopupExtender>

.aspx.cs 代码:

    mpeStep1.Show();

    try
    {
        SqlCommand cmd = APP.DataManager.GetConnection().CreateCommand();
        cmd.CommandText = "EXEC [dbo].[sp_Populate_Initial_DataSet_New]"            cmd.Connection.Open();
        cmd.ExecuteNonQuery();
        cmd.Connection.Close();
    }
    catch
    {
        //Log, etc here
    }

该存储过程没有 .DataBinds()。它只是填充一个表,其他进程将从中显示数据。

【问题讨论】:

  • 看一些代码真的帮不了你。
  • 同意,需要代码示例。根据模糊的描述,我的猜测是,当你让它调用存储过程时,它会抛出、提前返回,或者由于其他原因没有到达执行 modal.Show() 的行。或者,也许你正在那里做一个 databind() 来重置你的弹出窗口的可见性。但是我们需要查看一些代码来缩小范围。

标签: c# asp.net modalpopupextender


【解决方案1】:

模态弹出窗口会说“请稍候,正在处理...”之类的内容吗?您需要在客户端显示它而不是使用 mpeStep1.Show() 否则在服务器端完成之前它不会显示。

您在使用 ASP.NET Ajax 吗?如果是这样,UpdateProgress 控件是否不适合该任务? http://msdn.microsoft.com/en-us/library/bb386421.aspx

【讨论】:

  • 我有点认为这是问题所在,但我希望有办法解决它。我希望在运行较长时间的操作时“禁用”页面,但我将照原样使用 UpdateProgress。谢谢!
  • 我自己从未使用过它,但这应该很适合您想要做的事情。 encosia.com/downloads/postback-ritalin
猜你喜欢
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
相关资源
最近更新 更多