質問: @"特定のディレクトリ"; //ボタンをクリックしたときに、特定のディレクトリの中にすでにファイルが存在している場合にのみ、ポップアップを表示させて警告させたい if(System.IO.Directory.Exists(fileName)) { //ポップアップ表示「すでにファイルが存在しています。上書きしてもよろしいですか?」 //ポップアップで「はい」が選択された場合、すでに存在しているファイルを削除して新たに作り直す System.IO.File.Delete(~); (fileName内にファイル作成) }else { //特定のディレクトリの中にファイルがない場合、ポップアップを表示しないままファイルを新たに作る (fileName内にファイル作成) } } ``` ### 追記 自分が実現させたいと考えている全体的なシナリオを書いておきます。まず、ディレクトリAがあり、その中にディレクトリ1、ディレクトリ2...と複数のディレクトリが存在しています(これらのディレクトリが上記のコードにおける「特定のディレクトリ」のことです)ページ内に表があり、それには列の一番左にディレクトリの名前を示し、1行目=ディレクトリ1、2行目=ディレクトリ2...という風になっています。また、その名前の隣に、それぞれのディレクトリの中身のファイルの名前を表示しています。ディレクトリ1、2~と、ディレクトリの中に作成するファイルを選択してから、Button1を押すと、ファイルを作成され、その際に選択したディレクトリの中にすでにファイルが存在していた場合に、ポップアップで警告を出せるような仕組みを作りたかったのです。わかりづらい説明で申し訳ありません。
回答: クライアント側(ブラウザ)で起こることとサーバー側で起こることの区別がついていないです。 サーバーのどこかのディレクトリにファイルを書き込もうとしていて、書き込む前に同名のファイルの存在を調べ、存在する場合 JavaScript の confirm でユーザーに上書き可否の確認をするという理解でいいのですよね? であれば、質問者さんの質問は、 > > 具体例として書いた以下のようなコードの場合、どのようにコードを追加すればよいかを教えていただきたいのです。 > > > ということですが、「コードを追加」というレベルではなくて、ほぼ全面的に書き換えなければなりません。 JavaScript の confirm でユーザーに上書き可否の確認をするなら、confirm をする前に同名ファイルの有無を調べなければならないということは理解できるでしょうか? JavaScript はクライアント側で動くのですが、同名ファイルの有無はサーバー側でしか分からないので、confirm する前に、クライアント側から ajax を利用するなどしてサーバーに問合せを出す必要はあるのは理解できるでしょうか? 質問者さんがアップされたコードのはそのあたりのことが全く配慮されていません。上で私が「ほぼ全面的に書き換えなければなりません」と言ったのはそういう意味です。 サーバーに問合せを出す方法の例ですが、質問者さんのケースに当てはまるかどうかは分かりませんが、以下のような方法で実現できます。検討してみてください。 CustomValidator で jQuery.ajax 利用 http://surferonwww.info/BlogEngine/post/2016/10/20/use-jquery-ajax-in-customvalidator-to-check-databese-at-server-side.aspx 局所的な質問だけでなく、全体のシナリオを含めて何がしたいのかを書くことをお勧めします。そうすれば、局所的な質問の部分は実現が無理 or 他にもっと良い方法があるような場合、「それはできない or そのやり方は適切ではないけど、やりたいことはこうすれば実現できる」というような代案も出てくるかもしれません。