フォームには、さまざまなフィールド (名前、年齢など) と、画像をアップロードする機能があります。これは別の見方で実現したい。問題は、コントローラーを変更したいときに、これまでに作成したデータがコントローラーに渡されないことです。ここに私のコードの小さな例があります:
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Person</legend>
@Html.EditorFor(model => model.Name)
@Html.EditorFor(model => model.Age)
<img src="@Url.Content(Model.ImagePath)" alt="Image" class="imagePreview" />
<li>
@Html.ActionLink("Upload a pic from you!", "UploadImage", new { model = Model }, null)
@* This is the 'problematic' action *@
</li>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
アップロード コントローラーを呼び出すメソッドは次のとおりです。
public ActionResult UploadImage(Person model)
{
// properties in the passed model are not set
return RedirectToAction("UploadImage", "UploadImage");
}
送信ボタンを使わずに入力した情報を取得するにはどうすればよいですか?