Как написать «Html.BeginForm» в Razor

Если я напишу вот так:

form action = “Images” method = “post” enctype = “multipart / form-data”

оно работает.

Но в Razor с «@» это не работает. Я допустил ошибки?

@using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.ValidationSummary(true) 
Select a file
}

Мой controller выглядит так:

 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Upload() { foreach (string file in Request.Files) { var uploadedFile = Request.Files[file]; uploadedFile.SaveAs(Server.MapPath("~/content/pics") + Path.GetFileName(uploadedFile.FileName)); } return RedirectToAction ("Upload"); } 

Следующий код работает нормально:

 @using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.ValidationSummary(true) 
Select a file
}

и генерирует, как ожидалось:

 
Select a file

С другой стороны, если вы пишете этот код в контексте другой конструкции на стороне сервера, такой как if или foreach вы должны удалить @ перед using . Например:

 @if (SomeCondition) { using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.ValidationSummary(true) 
Select a file
} }

Что касается вашего кода на стороне сервера, вот как это сделать :

 [HttpPost] public ActionResult Upload(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/content/pics"), fileName); file.SaveAs(path); } return RedirectToAction("Upload"); } 
  • Symfony2 Настройка выбора поля выбора по умолчанию
  • Как визуализировать рамку openGL в C ++ Builder?
  • Предоставляет ли ASP.NET Web Forms возможность двойного щелчка?
  • Несколько форм на одной странице с использованием колбы и WTForms
  • Введите событие нажатия клавиши в JavaScript
  • Rails 3 представляет форму с несколькими записями
  • Как вы создаете сообщения для проверки формы HTML5?
  • Отключить проверку элементов формы HTML5
  • VBA: использование WithEvents в UserForms
  • Как использовать на странице JSF? Единая форма? Несколько форм? Вложенные формы?
  • Условная проверка поля, которая зависит от другого поля
  • Давайте будем гением компьютера.