如何在多个视图中动态实现图像?

时间:2018-07-13 00:30:38

标签: asp.net-mvc

我正在寻找一种基于Placement_PositionRegion在不同的视图中动态显示图像的方法。

Placement视图,其中显示表中的所有内容。

这些视图之间没有链接。

我很困惑如何实现此方案。有人请在这里帮助我。

Employee视图中,如果区域是Atop_1,我想显示图像1,如果区域是Atop_2,我想显示2

Table

   public class ClsPlacement
    {
        public int Id { get; set; }
        public string Placement_Position { get; set; }
        public string Path { get; set; }
        public int Region { get; set; }

    }

控制器

       public ActionResult Placement()
        {
            var model = context.Placement.ToList();
            return View(model);
        }

展示位置视图

<table>
    <tr>
        <th>
            @Html.DisplayNameFor(m => m.Id)
        </th>

        <th>
            @Html.DisplayNameFor(m => m.Placement_Position)
        </th>

        <th>
            @Html.DisplayNameFor(m => m.Region)
        </th>
        <th>
            @Html.DisplayNameFor(m => m.Path)
        </th>


    </tr>

    @foreach (var item in Model)
    {
        <tr>

            @Html.DisplayFor(modelItem => item.Id)

            <td>
                @Html.DisplayFor(modelItem => item.Placement_Position)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.Region)
            </td>
            <td>
               @Html.Image(item.Path, "Image")
            </td>

        </tr>
                    }
</table>

1 个答案:

答案 0 :(得分:1)

您可以使用 LINQ 为每个控制器编写查询并返回IList

Employee 视图中如此:

    public ActionResult Employee()
    {
     IList<ClsPlacement> plcList = new List<ClsPlacement>();
     var query= from m in context.Placement
                select m;
     var plc= query.ToList();
        foreach(var plcData in plc)
        {
         if(plcData.Placement_Position=="A_Top")
          {
           plcList.Add(new ClsPlacement()
            {
                Id= plcData.Id,
                Placement_Position= plcData.Placement_Position,
                Path = plcData.Path ,
                Region= plcData.Region
            });
          }
        }
        return View(plcList);      
    } 

然后在您的视图中可以这样写:

 @foreach (var item in Model)
{
     <div class="col-md-5">  
     <img src="@Url.Content(String.Format("~/Content/Place/{0}{1}{2}", "Atop_",item.Region,".jpg"))" />
</div>
}

,对于客户视图也是如此。