Проблема расширения помощника загрузки ASP MVC - PullRequest
0 голосов
/ 09 ноября 2011

Я столкнулся со следующей проблемой: У меня есть эта модель

public class Region
{
    public int RegionID { get; set; }
    public string RegionName { get; set; }
    public HttpPostedFile CustomFile { get; set; }
}

, и у меня есть собственный вспомогательный метод html расширения из здесь .

Теперь вview У меня есть следующий код:

<%using (Html.BeginForm("ModifyRegion", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))

{%>

  <%: Html.TextAreaFor(x => x.RegionID, Model.RegionID)%>
  <br />
  <%: Html.TextAreaFor(x => x.RegionName, Model.RegionName)%>
  <br />

 <%: Html.FileBoxFor(x=>x.CustomFile, Model.CustomFile) %>

<input type="submit" />

Когда оно достигает действия моего контроллера, поле CustomFile становится пустым, но все остальные поля установлены правильно.Если я изменю свойство CustomFile на строку вместо HttpPostedFile, я получу правильное имя файла (например, «dog.jpg»).Есть ли способ правильно получить полный файл HttpPostedFile?

Заранее спасибо, Тамаш

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Попробуйте заменить HttpPostedFile на HttpPostedFileBase в модели представления:

public class Region
{
    public int RegionID { get; set; }
    public string RegionName { get; set; }
    public HttpPostedFileBase CustomFile { get; set; }
}

Также убедитесь, что используемый вами вспомогательный FileBoxFor генерирует правильное имя и тип соответствующего поля файла:

<input name="CustomFile" type="file" />
0 голосов
/ 10 ноября 2011

Вы можете использовать что-то вроде:

...