【问题标题】:Appending Strings for Image Loading CSHTML为图像加载 CSHTML 附加字符串
【发布时间】:2018-05-16 14:17:58
【问题描述】:

我正在使用 ASP.net MVC 在 cshtml 中创建网站页面。我是新手,我很难像在 C# 中那样做一个简单的任务。我正在尝试通过“类别”类中的字段将图像加载到我的网站上。此类中有一个名为 ImageFileName 的字段。

我可以正常加载图像,如:

<img src="~/Content/Images/Dining/Dining.jpg"  
     alt=@c.CatName 
     style="width:64px;height:48px;" />

但是,我想在不硬编码文件名的情况下做同样的事情:

<img src="~/Content/Images/" + @c.ImageFileName 
     alt=@c.CatName 
     style="width:64px;height:48px;" />

但是,这不会附加路径字符串,并且不会加载文件。我也尝试将图像放在通用图像文件夹中,我只是觉得我的语法错误。

【问题讨论】:

  • 为什么不将此逻辑放在视图模型中,然后绑定到该属性?
  • 我不怎么会这样做,我该怎么做?

标签: html asp.net asp.net-mvc razor


【解决方案1】:

你的语法不正确。请记住,您是在渲染 HTML 并使用 Razor 编写代码,而不是 C#。

这个:

<img src="~/Content/Images/" + @c.ImageFileName 
     alt=@c.CatName 
     style="width:64px;height:48px;" />

应该是这样的:

<img src="~/Content/Images/@c.ImageFileName" 
     alt="@c.CatName"
     style="width:64px;height:48px;" />

但是,正如其他人所建议的那样,您可以考虑将图像的整个路径存储在 ImageFileName 属性中。您的代码将是:

<img src="@c.ImageFileName" 
     alt="@c.CatName" 
     style="width:64px;height:48px;" />

只是一些思考的食物

【讨论】:

  • 这很简单。感谢您的帮助和意见。
【解决方案2】:

试试这个(使用 Html.Raw 助手)

<img src="@Html.Raw("~/Content/Images/" + c.ImageFileName)" 
 alt="@Html.Raw(c.CatName)" style="width:64px;height:48px;" />

【讨论】:

    猜你喜欢
    • 2016-05-26
    • 2021-08-06
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多