【发布时间】:2013-04-03 21:07:24
【问题描述】:
我有一个发布 3 条信息的表格。
- 配方模型
- 标签字段(字符串)
- 文件(类型文件的输入)
在控制器端,我收到如下信息:
[HttpPost]
[Authorize]
public ActionResult Create(Recipe recipe, string taglist, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{ ...
在控制器中,我验证了上传文件和标签列表上的一些信息。如果出现问题,我会像这样返回创建视图
ModelState.AddModelError("", "You must provide at least one tag");
return View(recipe);
问题是用户提供的信息(要上传的文件或标签)在此过程中丢失。食谱中的所有字段都还在,因为我将它们传递给视图。我不想丢失任何信息。
我应该如何处理?什么是最好的方法?我考虑过创建一个特殊的模型,通过添加标签字符串来包装我的 Recipe 模型,但我不知道如何处理文件的情况,因为它不是字符串。
任何帮助将不胜感激
附加信息: 标签字符串不在配方模型中,因为标签不是数据库中的字符串,它们是附加到配方的标签列表。由于我使用的是需要字符串的 jQuery 插件,所以我这样做了,在控制器中我拆分标签字符串并将它们添加到数据库中。
【问题讨论】:
标签: c# asp.net-mvc forms validation