0

mvc4 を使用して、画像をモバイル アプリケーションのスライドショーとして表示します。

私は、これらの画像の物理パスを 1 つの配列 [] に取り込んでいます。そして、その配列をビューに渡したいです。そこで、それらの画像をスライドショーとして表示したいと考えています。

ここに私のコードがあります

コントローラーコード:

 public ActionResult Index()
    {
        var imageFiles = new Mobile.Models.DisplayImages.ImageModel();
        imageFiles.Images.AddRange(System.IO.Directory.GetFiles(@"E:\05-11\New Folder\Images\BannerImages\"));
        for (int i = 0; i < imageFiles.Images.Count; i++)
        {
            // get rid of the fully qualified path name
            imageFiles.Images[i] = imageFiles.Images[i].Replace(@"E:\05-11\New Folder\Images\BannerImages\", "../../Images/BannerImages/");
            // change the slashes for web
            imageFiles.Images[i] = imageFiles.Images[i].Replace('\\', '/');
        }
        return View(imageFiles);
    }

モデルコード:

public class DisplayImages
{
    public class ImageModel
    {
        List<string> _images = new List<string>();

        public ImageModel()
        {
            _images = new List<string>();
        }

        public List<string> Images
        {
            get { return _images; }
            set { _images = value; }
        }
    }
}

コードを表示:

 @for (int imgIndex = 0; imgIndex < Model.Images.Count; imgIndex++){
if (imgIndex == 0)
{
     <img class="first" src = "@Model.Images[imgIndex]" alt="No Image"/> 
}
else
{
     <img src = "@Model.Images[imgIndex]" alt="No Image"/> 
}

}

要件に応じてビュー ファイルにスタイルを適用できます。

4

1 に答える 1

0

あなたが再投稿した同じ質問。私はそれに答えました。リンクで解決策を見つけることができます

解決策はここに貼り付けられます

このクラスを最初にモデルで作成します

public class ImageModel
{
List<string> _images = new List<string>();

    public ImageModel()
    {
        _images = new List<string>();
    }

    public List<string> Images
    {
        get { return _images; }
        set { _images = value; }
    }
}

次に、コントローラーで次のコードを使用します

var imageFiles = new ProjectName.Models.ImageModel();
imageFiles.Images.AddRange(System.IO.Directory.GetFiles(imagepath));
return View(imageFiles);

ビューでは、次のように使用します

@model ImageModel
@for (int imgIndex = 0; imgIndex < Model.Images.Count; imgIndex++)
{

if (imgIndex == 0)
{
     <img class="first" src = "@Model.Images[imgIndex]" alt="No Image" "/> 
}
else
{
     <img src = "@Model.Images[imgIndex]" alt="No Image "/> 
}
}

このコードは、私が試した作業コードです。お役に立てば幸いです。イメージパスで、ファイルが存在する物理パスなどの完全なパスを指定します

于 2013-12-24T07:24:33.997 に答える