0

シンプルなウェブアプリを作成しています。シナリオは次のとおりです。

  1. 画像のアップロード
  2. 1つまたは複数の画像を選択して新しいオブジェクトを作成する(以前にアップロードした)
  3. 対応する画像でオブジェクトを表示します

こんなものを作ろうと思っていました

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)のみを使用するのがより良い方法です。

したがって、2番目のシナリオは次のようになります

  1. 画像をアップロード
  2. オブジェクトを作成し、jquery onclickを使用して1つまたは複数の画像を選択し(img src要素を読み取り)、これらの文字列を文字列のSampleObjectリスト内に保存します。

2番目のシナリオの方が適切と思われますか。それが行われる場合、これらのエンティティ(sampleobject.csおよびimage.cs)をどのように作成しますか。

4

1 に答える 1

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" /> 

}
于 2012-07-25T20:24:19.720 に答える