ASP MVC IEnumerable <img/>模型 - 用于创建新图像的验证

时间:2016-04-22 09:50:09

标签: asp.net-mvc validation ienumerable

我有一个MVC应用程序,我在其中显示图像列表。 我的模特是:

@model IEnumerable<ImageGallery.Models.Image>

在同一个视图页面上,我有一个表单,用于向列表中添加新图像。

<input asp-for="Name" type="text" id="name" name="name" placeholder="Name">
<span asp-validation-for="Name" class="text-danger"></span>

这不起作用,因为“Name”是Image-class中的一个字段,但是该视图的模型是IEnumerable,我不能引用“Name”字段。这是怎么解决的?

1 个答案:

答案 0 :(得分:1)

您需要另一个模型/视图模型来捕获添加新图像所需的数据。我通常有一个父视图模型,List和AddNew视图模型在同一级别保持在一起。

public class AddImageViewModel
{
    [Required]
    public string Title {get;set;}

    [Required]
    public string Description {get;set;}
}

public class MyImagesViewModel
{
    public IList<Image> MyImages {get;set;}

    public AddImageViewModel AddImage {get;set;}
}