2

私はViewModelを持っています:

    public HttpPostedFileBase File { get; set; }
    public string Notes { get; set; }

Createビューには、をモデルに<input type="file" name="file" />バインドするがあります。HttpPostedFileここまでは順調ですね。

私の問題は、それぞれのビューで「編集」アクションを開発しようとしたときに始まります。文字列プロパティのエディタフィールドを表示するのにまったく問題はありませんNotes。その部分は簡単です。

<input type="file" name="file" />ただし、ビューに実際の値を表示するにはどうすればよいEditですか?Fileバイト配列をViewModelのプロパティにバインドするにはどうすればよいですか?それは正しい方法ですか?別のより良い解決策はありますか?私はこれで立ち往生しているので、あなたの助けをいただければ幸いです。

4

1 に答える 1

0

できません。An<input type="file" />はファイルを編集するためのものではなく、アップロードするためだけのものです。

編集ビューでファイルを削除できるようにしたいだけの場合は、これを試してください(単なる例)。

  1. DeleteFile編集ビューモデルにboolプロパティを追加します
  2. そのプロパティを編集ビューのチェックボックスとして追加します
  3. 編集方法で、がtrueに設定されているかどうかを確認DeleteFileし、trueに設定されている場合は、編集しているそのレコードに添付されているファイルを見つけて削除します

Fileまた、名前をに変更することもできますUploadedFile(少し明確になります)。もちろん、それはあなた次第です。

于 2012-11-23T04:42:20.157 に答える