首页 新闻 搜索 专区 学院

请问各位高手Asp.net MVC4如何实现读取某文件夹下的文件的文件路径

0
悬赏园豆:100 [待解决问题]
<ul>
   <li><img src="~/Content/Images/AdTest1.jpg" /></li>
   <li><img src="~/Content/Images/AdTest2.jpg" /></li>
   <li><img src="~/Content/Images/AdTest3.jpg" /></li>
   <li><img src="~/Content/Images/AdTest4.jpg" /></li>
   <li><img src="~/Content/Images/AdTest5.jpg" /></li>
   <li><img src="~/Content/Images/AdTest6.jpg" /></li>
   <li><img src="~/Content/Images/AdTest7.jpg" /></li>
</ul>

例如将上面的HTML中的src的值,用Asp.net MVC4自动从某文件夹中文件取得,根据文件夹下的文件数量自动生成li。请问各位高手应该怎样做,Model、Controller、View(Razor引擎)分别要怎么写才比较好!

时光刺客的主页 时光刺客 | 初学一级 | 园豆:60
提问于:2013-05-21 09:38
< >
分享
所有回答(1)
0

//Controller
public class PictureController : Controller
    {
        private static readonly String Folder = "images";

        public ActionResult Default()
        {
            var result = new List<String>();
            foreach (var file in Directory.GetFiles(Server.MapPath(Folder)))
            {
                result.Add(Path.Combine(Folder, Path.GetFileName(file)));
            }
            return View(result);
        }
    }

 

@model List<String>

@{
    ViewBag.Title = "Default";
}

<h2>Default</h2>

<ul>
    @foreach (var s in Model)
    { 
        <li>
            <img src="@s" /></li>
    }
</ul>
写代码的小2B | 园豆:4355 (老鸟四级) | 2013-05-21 10:20
@model List<String>

感谢这位高手!基本上没有问题,但上面那句为什么会出现下面的警告。还请指教!

产生的HTML代码还自动生成了String元素!

警告 1 验证 (HTML5): 不支持元素“String”。

支持(0) 反对(0) 时光刺客 | 园豆:60 (初学一级) | 2013-05-21 13:32

@时光刺客: 重新生成,关掉页面。再打开看看还有吗。

支持(0) 反对(0) 写代码的小2B | 园豆:4355 (老鸟四级) | 2013-05-21 13:35

@写代码的小2B: 感谢!!重新生成后终于都好了。

支持(0) 反对(0) 时光刺客 | 园豆:60 (初学一级) | 2013-05-21 13:52

@写代码的小2B: 开发工具提示说@model只允许有一个,有解决方案吗?

支持(0) 反对(0) 时光刺客 | 园豆:60 (初学一级) | 2013-05-23 23:13

@时光刺客: 

比如你现在页面需要  A ,B两个类的对象。那么定义类C 包含A,B。如下代码所示:

public class A
    { 
    
    }

    public class B
    { 
    
    }

    public class C
    {
        public A A { get; set; }
        public B B { get; set; }
    }
支持(0) 反对(0) 写代码的小2B | 园豆:4355 (老鸟四级) | 2013-05-24 09:40

@写代码的小2B: 这个原理大概能明白,但能具体点吗?这样Controller中的ActionResult是不是要修改!是否要Model中做!

 假设有类似下面一个由Ado.net实体数据模型自动生成的

 1 public partial class ProductsInfo
 2     {
 3         public int ProductID { get; set; }
 4         public string ProductType { get; set; }
 5         public string Manufacturer { get; set; }
 6         public string ProductName { get; set; }
 7         public string Mode { get; set; }
 8         public string OnSaleTime { get; set; }
 9         public string PlaceOfOrigin { get; set; }
10         public int Quantity { get; set; }
11         public decimal Price { get; set; }
12         public string Discount { get; set; }
13         public string Promotion { get; set; }
14         public System.DateTime CreateTime { get; set; }
15         public System.DateTime ModifyTime { get; set; }
16     }

然后怎么结合

//Controller
public class PictureController : Controller
    {
        private static readonly String Folder = "images";

        public ActionResult Default()
        {
            var result = new List<String>();
            foreach (var file in Directory.GetFiles(Server.MapPath(Folder)))
            {
                result.Add(Path.Combine(Folder, Path.GetFileName(file)));
            }
            return View(result);
        }
    }

mvc新手,希望高手指点!

支持(0) 反对(0) 时光刺客 | 园豆:60 (初学一级) | 2013-05-24 14:09

@时光刺客: 

这不是一目了然吗。

public class A
    {
        public ProductsInfo P { get; set; }
        public List<String> Array { get; set; }
    }
支持(0) 反对(0) 写代码的小2B | 园豆:4355 (老鸟四级) | 2013-05-24 14:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册