画像のアップロードである PartialView があり、基本的にいくつかの画像と通常のアップロードボタンを表示しています:-
@model MvcCommons.ViewModels.ImageModel
<table>
@if (Model != null)
{
foreach (var item in Model)
{
<tr>
<td>
<img src= "@Url.Content("/Uploads/" + item.FileName)" />
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
</tr>
}
}
</table>
@using (Html.BeginForm("Save", "File", FormMethod.Post, new { enctype = "multipart/form-data" })) {
<input type="file" name="file" />
<input type="submit" value="submit" /> <br />
<input type="text" name="description" />
}
今、私の考えは、これを別のページに置くことです。すでに 1 ページで試してみて、問題なく動作していますが、画像をアップロードすると、
public ActionResult ImageUpload()
{
ImageModel model = new ImageModel();
model.Populate();
return View(model);
}
「前の」ビュー、つまりこの部分ビューをホストしているビューに戻りたいですか? return View(model)
上記のようにすると、見たくない部分ビューに入りますImageUpload
。
あなたの助けと時間をありがとう。
***更新* ** * ** * ** とりあえず単純なルートに行き、実際のビュー名をハードコーディングしました
public ActionResult ImageUpload()
{
ImageModel model = new ImageModel();
model.Populate();
return View("~/Views/Project/Create.cshtml", model);
}
ただし、エラーが発生しました:-
ディクショナリに渡されたモデル アイテムのタイプは ですMvcCommons.ViewModels.ImageModel
が、このディクショナリにはタイプ のモデル アイテムが必要MvcCommons.Models.Project
です。