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