ファイルをアップロードする必要があり、その方法をいくつか見つけました。私が考えた最善の方法は、次のブログによるものでした 。
ここにも便利な投稿が見つかりました: stackoverflow topic
しかし、試してみると、失敗します。Visual Studio で次のエラーが発生します。
シーケンスには複数の要素が含まれており、それ以上先に進む必要はありません。
私のコードは次のようになります。
コントローラ:
public PartialViewResult Index(parameterlist)
{
var model = new Model();
return PartialView(model);
}
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
// Verify that the user selected a file
if (file != null && file.ContentLength > 0)
{
// extract only the filename
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath(@"Path"), fileName);
file.SaveAs(path);
}
// redirect back to the index action to show the form once again
return RedirectToAction("Index");
}
意見:
<div class="span6">
@using (Html.BeginForm("null", "null", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="OK" />
}
</div>
したがって、このパーシャルビューが呼び出された瞬間に actionResult メソッドに移動します。もちろん、ビューがまだ開かれていないため、ファイルは選択されていません。ビューには、他にもいくつかのテキストボックスとドロップダウンがあります。しかし、特別なことは何もありません。誰かが私が間違っていることについて考えを持っていますか? 何か決定的なものを失っているような気がする...