0

我正在尝试在我的网络应用程序上显示弹出消息。当我在本地电脑上正常运行我的应用程序时,会出现弹出消息框。但是,当我发布应用程序时,他们不会。

它的工作原理如下:按下按钮,它将从目录中提取文件,然后检查另一个目录以查看文件是否存在...如果文件存在,则需要弹出一个通知“文件已存在。要继续吗?如果用户单击“是”,则继续执行该代码,如果单击“否”,则该过程结束。

有人知道怎么做吗?

到目前为止我的代码:

If System.IO.File.Exists(acceptedExistsuNKNOWN) And System.IO.File.Exists(rejectedExistsUNKNOWN) Then
          'IF BOTH EXIST
            If MsgBox(acceptedExistsuNKNOWN & " & " & rejectedExistsUNKNOWN & "files already exists, do you want to rerun the process?", MsgBoxStyle.YesNo, "Files Exists") = MsgBoxResult.Yes Then
(continur
else
System.Diagnostics.Process.GetCurrentProcess.Kill()...

非常感谢

4

2 回答 2

0

您的想法的问题是有人需要登录到服务器才能与模式弹出框进行交互;也就是说,如果这是可能的,因为它需要是服务器上的那个人在页面执行操作才能成为弹出窗口的接收者,所以它不像其他用户可以向发出弹出窗口。

您在服务器端执行的操作在服务器端执行。

我认为您确实希望 ti在客户端显示,但希望逻辑使其在服务器端发生。这种方式行不通。相反,您可能会在响应中输出一些内容,表明应显示客户端弹出窗口。例如,您可以在页面上设置一个隐藏字段并设置一个值,然后该值符合您的条件时使用 JavaScript 显示警报。

于 2013-02-27T12:38:22.387 回答
0

想想你在问什么。如果在服务器端弹出一个对话框,用户将无法看到它(它们在客户端)。此外,代码将处于停滞状态,直到有人关闭该用户无法看到的对话框。只有有权访问服务器的个人才能看到这一点。您是否打算让某人 24/7 全天候监视服务器?相反,您可能想要提醒用户。这可以通过将服务器代码的响应返回到客户端代码来显示对话框来完成。最简单的方法是抛出错误并将用户重定向到新页面以显示错误。如果您想要更流畅的东西,您可以使用更新的面板和 AjaxControlToolkit 的模态弹出扩展器。另一种方法是使用 ClientScript,如下所示:

try
{
    //check for files here
}
catch (Exception ex)
{
    string script = "<script>alert('" + ex.Message + "');</script>";
    if (!Page.IsStartupScriptRegistered("myErrorScript"))
    {
         Page.ClientScript.RegisterStartupScript("myErrorScript", script);
    }
}
于 2013-02-27T12:44:16.197 回答