在我的代码中显示图像无法找到错误

时间:2016-04-22 14:45:55

标签: c# asp.net-mvc html5 razor

您好我从之前的网络应用程序中获取此代码。我只是复制并粘贴到一个新的,但图像没有显示在新网站中。我甚至键入代码来显示路径,它显示确定,显示ID,它显示确定和产品的所有属性,他们都显示确定但图像不显示。当F5我的应用程序网站运行正常。但是当图像无法加载时,它只显示微小的图标而不是图像。但是当从浏览器使用检查器时,src属性具有图像的正确路径。 我找不到有什么不对 这是代码

这是类别

namespace Mysite.Models
{ 
    public class Category
    {
        //[ScaffoldColumn(false)]
        public int CategoryID { get; set; }

        [Display(Name = "Category Name")]
        public string CategoryName { get; set; }

        //[Display(Name = "Product Description")]
        public string Description { get; set; }

        public string ImagePath { get; set; }

        public virtual ICollection<Product> Products { get; set; }

    }

}

这是产品类

namespace Mysite.Models
{
    public class Product
    {
        //[ScaffoldColumn(false)]
        public int ProductID { get; set; }

        [Required, StringLength(100), Display(Name = "Product Name")]
        public string ProductName { get; set; }

        [Required, StringLength(10000), Display(Name = "Product Description"), DataType(DataType.MultilineText)]
        public string Description { get; set; }

        public string ImagePath { get; set; } // Here is the image path that I want to show           

        public int? CategoryID { get; set; }

        public virtual Category Category { get; set; }
    }
}

这是一个CategoryController,它有一个方法Browse in INCLUDES Products

namespace Mysite.Controllers
{
    public class CategoriesController : Controller
    {
               private ProductContext db = new ProductContext();

              public ActionResult Browse(string categories)
        {
            var categoriaModel = db.Categories.Include("Products")
                .SingleOrDefault(c => c.CategoryName == categories);
            return View(categoriaModel);/*(db.Categories.C)*/

        }

这是一个简化的视图来测试我是否想要在浏览器中显示,实际显示

@model Mysite.Models.Category

@{
    ViewBag.Title = "Browse";
}

<h2>Browse</h2>
@foreach(var item in Model.Products) { 

<p>@item.ProductName , @item.ProductID , @item.ImagePath</p>

<img  src="@item.ImagePath"/>

}

但这是它实际显示的内容

Horizontal Faux Wood , 1 , Content/ProductImages/woodblind2.jpg /*small non-loaded picture icon here*/

Horizontal Real Wood , 2 , Content/ProductImages/woodblinds1.jpg /*small non-loaded picture icon here*/

Aluminium mini blinds , 10 , Content/ProductImages/aluminiumminiblind.jpg /*small non-loaded picture icon here*/

这个代码我在另一个网站上工作。 我仔细检查图像文件夹,路线,一切正常

4 个答案:

答案 0 :(得分:0)

试试这个

<img src= "@Url.Content(item.ImagePath)" alt="Image" />

答案 1 :(得分:0)

将其更改为:

<img src="@Url.Content("~/" + item.ImagePath)"/>

答案 2 :(得分:0)

您在syncMaster之前错过了/来指定ImagePath,我宁愿将root变量从另一个string中删除。无论如何,那是我的方法     

答案 3 :(得分:0)

<img src="~/@item.ImagePath" />

基本上,~符号允许您引用与根路径相关的文件。