Сохранение данных формы в представлении после публикации файла из того же представления - PullRequest
1 голос
/ 06 апреля 2011

У меня есть вид, чтобы отредактировать некоторые детали документа и загрузить два связанных изображения.Я хочу, чтобы это представление отправляло два разных действия на моем контроллере, одно для сохранения всех полей формы и одно для загрузки файла.У меня есть одна форма вокруг основной формы и многочастная форма вокруг файла uplaod input

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

    <% =Html.TextBoxFor(model => model.Document.Title) %>
     <%= Html.TextBoxFor(model => model.Document.Description) %>

    //and then another multipart form around the file upload part like this
     <% using(Html.BeginForm("FileUpload", "Document", FormMethod.Post, new { enctype = "multipart/form-data" }))
                <input type="file" id="fileUpload" name="iamge" size="30" />
                <input type="submit" value="Upload" />
                  <% { %>  

<input type="submit" value="Save" />
<% } %>

Загрузка файла происходит правильно при публикации внутренней формы, но я хочу, чтобы контроллер возвращал модель compelte на главнуюпросмотр снова со всеми сохраненными полями формы.Представление строго типизировано, поэтому я решил опубликовать всю модель в действии загрузки файла, используя внутреннюю форму.Могу ли я избежать использования только одной составной формы, которая будет публиковать файлы и данные формы независимо от того, какой элемент ввода был нажат?Это хорошая практика?В конце дня все, что мне нужно, это убедиться, что все данные моей формы сохраняются в форме редактирования после загрузки моего файла.

Как передать данные модели в действие загрузки файла из внутренней формы?

1 Ответ

1 голос
/ 06 апреля 2011

Тебе не нужна внутренняя форма, я не думаю. Вы можете просто иметь внешнюю форму, которая должна анализироваться в вашей модели, если вы устанавливаете аргументы действия. После этого вы можете использовать другой логический путь, например, для сохранения других элементов модели в зависимости от того, были ли опубликованы какие-либо файлы.

После этого вы сможете передать отправленную модель обратно в представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...