Я пытаюсь вставить изображение на сервер, с точки зрения я использую MVC2, мой код:Html.BeginForm метод пост обыкновение вызов
<% using (Html.BeginForm("Upload", "Main", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%><br />
<input type="file" name="files" id="file1" size="25" />
<input type="submit" value="Upload file" />
<% } %>
В MainController я использую:
[HttpPost]
public ActionResult Upload()
{
foreach (string inputTagName in Request.Files)
{
HttpPostedFileBase file = Request.Files[inputTagName];
if (file.ContentLength > 0)
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../Images")
, Path.GetFileName(file.FileName));
file.SaveAs(filePath);
}
}
}
Но когда я перейти на submit
кнопку ничего не случилось, я пытаюсь отладить, и я вижу, что public ActionResult Upload
не звонят. Что может быть проблемой?
Thanx
«Ничего не происходит» является довольно расплывчатым описанием поведения. Если браузер не публикует форму вообще, это не имеет никакого отношения к вашему серверному коду. Каков итоговый HTML-код на стороне клиента? Есть ли какой-либо JavaScript, перехватывающий сообщение формы? Есть ли ошибки в консоли JavaScript? Любой запрос отправлен на сервер вообще? Каков ответ на этот запрос? Существует * много * отладки, которую вы можете сделать здесь. – David
Я действительно не получаю, если вы пишете свой код в VS, это дает вам ошибку, что ваш метод не имеет возвращаемого значения, для этого вам нужен stackoverflow? Или вы не вложили весь свой метод? – theLaw
Я пробовал этот код и работал хорошо, но ваш код имеет одну ошибку вы ошибаетесь, вы выбрали для своего использования HttpContext.Server.MapPath («../ Images»), это должен быть HttpContext.Server.MapPath (" ~/Images/") – Yehia