Я создаю страницу конкурса сочинений. Эссе может быть записано в текстовое поле или может быть загружено. Я новичок в asp.net mvc и последовал вместе с Sanderson Pro ASP.NET MVC Framework.
У меня проблемы с сохранением отправленного файла в оба конца из-за неудачной проверки поля.
Чтение это Я назвал свой входной файл таким же, как имя поля модели, и передаю его в качестве ввода в действие контроллера:
[AcceptVerbs(HttpVerbs.Post)]
public ViewResult SubmitEssay(Essay essay, bool acceptsTerms,
HttpPostedFileBase essay_filepath,
HttpPostedFileBase budget_filepath)
{
if (!acceptsTerms)
ModelState.AddModelError("acceptsTerms",
"You must accept the terms and conditions.");
else
{
try
{
// stuff uploaded file values
if (string.IsNullOrEmpty(essay.essay_filepath)
&& (essay_filepath!= null))
{
essay.essay_filepath = essay_filepath.FileName;
}
if (string.IsNullOrEmpty(essay.budget_filepath)
&& (budget_filepath != null))
{
essay.budget_filepath = budget_filepath.FileName;
}
Это само по себе работает, но когда я иду к проверке других полей, при передаче туда и обратно поле загрузки файла больше не содержит путь загрузки, так что при повторной отправке после заполнения обязательных полей, нет размещенного файла.
Каков наилучший способ сохранить опубликованный файл в оба конца? Можете ли вы даже установить "значение" поля ? Должен ли я использовать два поля (одно скрытое) и установить поле ввода файла с помощью jQuery?
Что сделали другие?
Спасибо.