0

ユーザーがファイルを Web サーバーにアップロードできるページを作成しています。アップロード後、ページには、アップロードされたばかりのファイルへのリンクと、既にアップロードされている他のファイルへのリンクが表示されます。

アップロードされたファイルへのリンクをプログラムで作成しているので、これを page_init で行う必要があります。そうしないと、リンク ボタンをクリックしてもイベントが発生しません。私のWebページはこれをすべて行います-リンクボタンを作成し、それらをクリックすると、必要なイベントメソッド、つまりファイルをダウンロードするサブを呼び出します。

OK、私が遭遇した問題は次のとおりです。(ファイルをアップロードするために)アップロードをクリックすると、page_init サブルーチンが呼び出され、以前にアップロードされたすべてのファイルがリンク ボタンとして表示されます。次に、現在のファイルをアップロードする btnUpload_click サブルーチンが呼び出されます。

唯一の問題は、現在のファイルが表示されていないことですか? page_init でしかリンクを表示できませんが、btnUpload は page_init の後に呼び出されるため、現在のファイルは page_init の後までアップロードされず、したがって表示されませんか?

これを回避する方法はありますか?

4

2 に答える 2

0
  1. クラスのメンバーとしてすべてのサーバー側リンクのリストを用意します。List<LinkButton> myLinks = new List<LinkButton>();

  2. リンクを作成するときは、まだページに追加せず、代わりにリストに追加します。myLinks.Add(oNewLink);

  3. btnUpload_Click メソッドで、適切な値を使用して新しいリンクをグローバル リストに追加します。

  4. ボタンのクリック後に発生する Page_PreRender 関数で、ページへのリンクを追加します。

このロジックの実装についてさらにサポートが必要な場合は、お知らせください。:)

于 2010-11-28T15:17:44.563 に答える
0

セッション変数またはデータベースから以前にアップロードされたファイルのリストを取得/保存している場合は、btnUpload_click イベントの最後に、ページをそれ自体にリダイレクトするだけです。Response.Redirect("PageName.aspx"); のように

于 2010-11-28T16:41:03.010 に答える