asp.net MVC列表视图中未显示图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net MVC列表视图中未显示图像相关的知识,希望对你有一定的参考价值。
如何在列表视图中显示每个项目的图像?我的数据库中有ImageName
类型的ImagePath
和nvarchar(MAX)
列。通过在视图模型中使用HttpPostedFileBase
,可以很好地保存。但是在列表中检索时,没有图像显示! foreach循环还有其他方法吗,或者我的语法错误?
我该如何解决?
public partial class Course
public int CourseId get; set;
public string CourseTitle get; set;
public string ImageName get; set;
public Nullable<double> Price get; set;
public string Description get; set;
public string ImagePath get; set;
public class CourseViewModel
public string CourseTitle get; set;
public HttpPostedFileBase ImageFile get; set;
public Nullable<double> Price get; set;
public string Description get; set;
public string ImagePath get; set;
public ActionResult Index()
var courses = db.Courses.ToList();
return View(courses);
public ActionResult Create(FormCollection collection, CourseViewModel courseVM, HttpPostedFileBase ImageFile)
try
if (!ModelState.IsValid)
return View(courseVM);
else
var image = ImageFile;
if (image!=null && image.ContentLength>0)
Course course = new Course();
var imageName = Path.GetFileName(image.FileName);
var imageExtention = Path.GetExtension(imageName);
imageName = imageName + DateTime.Now.ToString("yymmssfff") + imageExtention;
course.ImageName = imageName;
var imagePath = "~/App_Data/Images/" + imageName;
var path = Path.Combine(Server.MapPath("~/App_Data/Images/"), imageName);
image.SaveAs(path);
course.ImagePath = path;
course.CourseTitle = courseVM.CourseTitle;
course.Description = courseVM.Description;
course.Price = courseVM.Price;
db.Courses.Add(course);
db.SaveChanges();
return RedirectToAction("Index");
else
return View(courseVM);
catch
return View();
这是我的图像列的列表视图:
@model IEnumerable<MyProject.Models.Course>
@foreach (var item in Model)
<tr>
<td>
<img src="@Url.Content(item.ImagePath)" width="100" height="100" alt="Image" />
</td>
</tr>
答案
我首先要看的是正在写入锚标记的src=""
属性的文本。在Chrome浏览器中,右键单击应放置图片的位置,然后单击“检查”。
我怀疑这里的字符串格式错误。
以上是关于asp.net MVC列表视图中未显示图像的主要内容,如果未能解决你的问题,请参考以下文章
带有实体框架和 SQL Server 数据库的 ASP.NET MVC - 图像未显示在视图中......错误显示“无法将“字节”转换为“字符串”