0

Webアプリにポップアップメッセージを表示しようとしています。ローカルPCでアプリを通常どおり実行すると、ポップアップメッセージボックスが表示されます。しかし、私がアプリを公開するとき、彼らはしません。

仕組みは次のとおりです。ボタンを押すと、ディレクトリからファイルが取得され、別のディレクトリがファイルが存在するかどうかが確認されます。ファイルが存在する場合は、「」を通知するためのポップアップが必要です。ファイルは既に存在します。続行しますか?」ユーザーが[はい]をクリックするとコードが続行され、[いいえ]をクリックするとプロセスが終了します。

誰かがこれを行う方法を知っていますか?

これまでの私のコード:

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

あなたが求めていることについて考えてください。サーバー側でダイアログが表示された場合、ユーザーはそれを見ることができません (クライアント側にいます)。さらに、誰かがそのダイアログを閉じるまでコードは停止し、ユーザーには表示されません。サーバーにアクセスできる個人のみがこれを見ることができます。サーバーを 24 時間年中無休で監視する予定はありますか? 代わりに、おそらくユーザーに警告する必要があります。これは、サーバー コードからクライアント コードに応答を返してダイアログを表示することで実行できます。最も簡単な方法は、エラーをスローし、ユーザーを新しいページにリダイレクトしてエラーを表示することです。より流動的なものが必要な場合は、更新されたパネルと AjaxControlToolkit のモーダル ポップアップ エクステンダーを使用できます。もう 1 つの方法は、次のように 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 に答える
0

あなたのアイデアの問題は、誰かがサーバーにログインしてモーダルポップアップボックスを操作する必要があることです。つまり、これが可能であったとしても、ポップアップの受信者になるためには、ページでアクションを実行するのサーバー上のその人物である必要があるため、他のユーザーがにポップアップを発行できるわけではありません。

サーバー側で行うことは、サーバー側で実行されます。

クライアント側でti を表示したいのですが、サーバー側でそれを実現するロジックが必要だと思います。このようには機能しません。代わりに、クライアント側のポップアップを表示する必要があることを示す応答を出力することができます。たとえば、ページに隠しフィールドを作成して値を設定し、JavaScript を使用して、その値が条件を満たしている場合にアラートを表示できます。

于 2013-02-27T12:38:22.387 に答える