【问题标题】:iframe and image container code improvements MVC 5iframe 和图像容器代码改进 MVC 5
【发布时间】:2017-04-26 20:58:31
【问题描述】:

作为我的第一个项目的一部分,我必须使用 MVC 5 在视图中实现图像和视频显示。它正在工作,我对这一成就感到非常满意,但是必须进行一些改进,你会如何建议改进以下代码:

为了显示图片,我使用了以下代码:

<div style="float: none; margin: auto auto 30px auto  ;height: 280px; width: 400px; ">
    <div id="imageContainer">
        <img src="~/Images/@Html.Raw(Model.ImagePath)"  />
    </div>
</div>

在我不提供路径的情况下,此容器保持为空,但在页面上仍显示为带有图像图标的空块,表明该图像应该在这里......我怎样才能摆脱它,如果我不想在这个视图中显示图片?

视频容器的情况相同,我只是使用嵌入的 youtube 链接作为视频的Videolink

 <iframe src=@Html.Raw(Model.VideoLink) width="560" height="315" frameborder="1" align="middle" display:block style="margin:auto auto 30px auto"></iframe>

如果我提供Videolink - 它工作正常,如果我不提供,我有一个容器显示错误。如果没有输入,有没有办法简单地隐藏这些容器?

我会告诉你我设置它的方式,这一切都在一个班级Media

 public class Media
    {
        public int Id { get; set; }
        public string title { get; set; }
        [Required, StringLength(512)]
        public string description { get; set; }
        [Required]
        [AllowHtml]
        public string body { get; set; }
        public string ImagePath { get; set; }
        public string VideoLink { get; set; }
        public string Source { get; set; }
        public TagsEnum TagsEnum { get; set; }
        [Column(TypeName = "datetime2")]
        [DisplayFormat(DataFormatString = "{0:dd MMMM , yyyy HH:mm}", ApplyFormatInEditMode = true)]
        public DateTime? NewsDate { get; set; }

    }

更新

这就是我认为使用 Sam 的建议应该看起来的样子,对吧?如果是这样,它仍然没有给出正确的结果

@if (!string.IsNullOrEmpty(b.ImagePath)) 
    { 

    }
    else
    { 
            <div style="float: right; margin: 10px 10px 25px 25px; height: 100px; width:150px">
                <div id="imageContainer">           
                     <img src="~/Images/@Html.Raw(b.ImagePath))" style='height: 100%; width: 100%;' />
                   </div>
            </div>
    }

【问题讨论】:

  • @if(!string.IsNullOrEmpty(model.property))
  • 看起来很有希望,谢谢!但它会去吗,查看?控制器?我是 ASP.Net 的初学者
  • 它以@ 为前缀。这使它成为 Razor 语法。
  • 帮了大忙,谢谢!

标签: c# asp.net-mvc-5


【解决方案1】:
@if (!string.IsNullOrEmpty(b.ImagePath)) { 
    @<div style="float: right; margin: 10px 10px 25px 25px; height: 100px; width:150px">
        <div id="imageContainer">           
             <img src="~/Images/@Html.Raw(b.ImagePath))" style='height: 100%; width: 100%;' />
        </div>
    </div>
}

【讨论】:

  • 是的,这样它就像一个魅力。感谢您的帮助。
猜你喜欢
  • 2018-11-26
  • 1970-01-01
  • 2020-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-06
  • 1970-01-01
相关资源
最近更新 更多