具有许多上传图像的对象

时间:2012-07-25 20:20:06

标签: c# asp.net-mvc-3 domain-driven-design

我正在构建一个简单的Web应用程序。场景如下。

  1. 图片上传
  2. 选择一个或多个图像(先前已上传)
  3. 创建新对象
  4. 显示具有相应图像的对象
  5. 我在想创造这样的东西

    SampleObject.cs
        Guid Id {get; set;}
        string Name {get; set;}
    
    Image.cs
    Guid Id {get; set;}
    string Name {get; set;}
    string ImagePath {get; set;}
    SampleObject SampleObject {get; set;}
    

    但另一方面,我只需要具有许多ImagePath字符串的SampleObjects。因此,将此简化为仅具有包含许多字符串的SampleObjects(ImagePath)的方式更好。

    所以,第二种情况就像是

    1. 上传图片
    2. 创建对象并使用jquery onclick选择一个或多个图像(读取img src元素)并将这些字符串存储在SampleObject字符串列表中。
    3. 第二种情况对您来说似乎更好,如果它确实如何创建这些实体(sampleobject.cs和image.cs)。

1 个答案:

答案 0 :(得分:2)

我会像这样处理这个问题:

为您可能拥有的任何图像创建一个简单的模型。

public class UploadedImageModel
{
    public string ImagePathUrl { get; set; }
    public string AlternateText { get; set; }
}

创建一个简单的ViewModel,其中包含您可能想要显示的图像集合。

public class ImageGalleryViewModel
{
    public List<UploadedImageModel> Images { get; set; }
}

然后在你的视图中:

@model MyApp.WebUI.Models.ImageGalleryViewModel

@foreach(var pic in Model.Images) {

    <img src="pic.ImagePathUrl" alt="pic.AlternateText" /> 

}