asp.net-mvc-4 - 如何使用 Razor MVC 显示文件夹中的图像?

标签 asp.net-mvc-4 razor

我正在使用 Razor MVC,我想显示来自“~/Content/uploads”文件夹的图像。
我想出了以下解决方案:

@foreach (FileInfo fileInfo in (new DirectoryInfo(Server.MapPath("~/Content/uploads"))
                                    .GetFiles().Where(x => x.Extension == ".jpg"))) {
    <img src="/@fileInfo
               .FullName
               .Substring(Server.MapPath("~/").Length)
               .Replace("\\", "/")"
         width="100">
}

代码的问题是我正在使用完整的文件路径
我正在删除 Server.MapPath() 前缀。

如何简化此代码?

最佳答案

您可以使用 UrlHelper Razor 页面上可用的类。

@foreach (var imgPath in Directory.GetFiles(Server.MapPath("~/Content/uploads"), "*.jpg"))
{
    var img = new FileInfo(imgPath);
    <img src="@Url.Content(String.Format("~/Content/uploads/{0}", img.Name))" />
}

关于asp.net-mvc-4 - 如何使用 Razor MVC 显示文件夹中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21659134/

相关文章:

javascript - 使用默认值进行级联选择

jquery - 仅在选中时显示复选框

c# - 向 EditorFor 添加一个类 - razor c#

javascript - Ajax Post 在 onclick 属性中被取消

asp.net-mvc - MVC4 输入字段占位符

javascript - ASP.NET MVC4 AJAX.BeginForm AjaxOptions OnSuccess 未调用

url - 如何将带有@ url.action的参数传递给 Controller

c# - 使用 getJSON MVC4 C#/Jquery 从 Controller 动态加载选择列表

c# - SetCookie 似乎无法正常工作

.net - .CSHTML 中的 Visual Studio 2010 代码格式 - 不正确的缩进