2

私がここでやろうとしているのは、構成ファイルを生成できるように、ユーザーがネットワーク上のデータ サーバーのパスを選択できるようにすることです。

私のasp.netページでOpenFileDialog()の機能を複製できることを願っています。ただし、この関数はasp.netには存在しません.asp.net呼び出しFileUploadにこのコントロールがあることは知っています。しかし、ここで必要なのは、フォルダーのパス/ディレクトリだけです。ファイルをアップロードする必要はありません。

どうすればそれができますか?

4

4 に答える 4

1

いいえ、これには組み込みのコントロールはありません。これは通常の要件ではありません。ほとんどのサイトでは、ユーザーにファイル構造を表示させないためです。

ただし、これを行うユーザー コントロールの作成は簡単です。

ファイルをリストしたデータソースに接続された TreeView asp.net コントロールを使用することをお勧めします。

ツリービューのバインドに関するこのサンプルは、開始する必要があります。

を使用してデータを入力できます

var path = Server.MapPath("/");
var dirs = Directory.[EnumerateDirectories][2](path);
var files = Directory.[EnumerateFiles][3](path );

最後に、ダイアログのように見せるために、jQuery UI ダイアログコンポーネントを使用できます。

于 2012-08-30T03:43:00.683 に答える
1

これを Web アプリケーションで行うのは難しい作業です。参照するサーバー上のフォルダーを列挙し (おそらく、これは Web アプリケーションを実行しているサーバーと同じです)、その階層をユーザーに提示してフォルダーを選択する必要があります。階層が大きすぎない場合は、前もって全体を列挙し、ツリーに表示することができます。それが大きい場合は、Ajax アプローチを使用できます。最上位のフォルダーを選択し、Ajax 要求を送信して次のレベルを取得する、などです。

フォルダーを列挙するには、ファイルシステムを自分で調べる必要があります。一方向については、 http://msdn.microsoft.com/en-us/library/dd997370 (v=vs.100).aspx を参照してください。

于 2012-08-30T03:14:39.877 に答える
0

asp.net サイトは、サーバーから完全に切り離された環境です。他の人が言及しているように、OpenFileDialog() を複製するには、フォルダー構造を調べて、これを web/disconnected 環境のユーザーに提示する必要があります。この場合、ユーザーは実際のファイル システムから抽象化されます...この抽象化は既に行われているため、取っているルートを検討するのに良い時期です。ファイル システムを直接複製する必要がないことを考慮する価値があるかもしれません。データベース内の「仮想」フォルダ構造を管理し、ディスク上のファイルへのリンク/パスをそこに維持できますか?

于 2012-08-30T05:06:43.540 に答える