ファイルをアップロードできるウェブサイトにページが必要です。各ファイルについて、名前とカテゴリが必要です。Cで複数の動的フォームを処理する方法#
[Required(ErrorMessage = "Please choose a file")]
[Display(Name = "File")]
public HttpPostedFileBase file { get; set; }
[Required(ErrorMessage = "A name is required")]
[Display(Name = "Name")]
public string name { get; set; }
[Display(Name ="Category")]
public string cat { get; set; }
これは私のモデルです。私はいくつかの動的なフォームをしたい、私は、ユーザーがページ上の名前と各ファイルのカテゴリを持つ複数のファイルをアップロードする別のフォームを追加することができますボタンとフォームを意味します。私はこれをSymfony2でやったことがありますが、私はASP.NETでそれをどうやって行うのか分かりません。誰かが私を助けることができますか?
@model fileListModel
<form>
//dynamic html(you can also use partial for this). When button will be clicked append following html using jquery $(form).append()
@{var key = [use some random id or guid]}
<input type="hidden" name="fileList.Index" value="@key" />
<input type="text" name="fileList[@key].name" value="Name" />
<input type="text" name="fileList[@key].cate" value="Category" />
<input type="file" name="fileList[@key].file" value="Upload"/>
// end dynamic html
@{ key = [use some random id or guid]}
<input type="hidden" name="fileList.Index" value="@key" />
<input type="text" name="fileList[@key].name" value="Name" />
<input type="text" name="fileList[@key].cate" value="Category" />
<input type="file" name="fileList[@key].file" value="Upload"/>
// end dynamic html
</form>
すぐ、Filelistを受け入れるようにコントローラのアクションメソッドを作成:
はpublic class fileListModel{
IList<yourModel> fileList {get;set;}
}
そしてかみそりビューで、この方法のようにフォームを作成する:第一次のような別のモデルを作成する時
ここでのキーワードは、 'エディタTemplate'ですまたは「パーシャルビュー」です。 – jAC