首页 > 解决方案 > 为图像加载 CSHTML 附加字符串

问题描述

我正在使用 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;" />

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

标签: htmlasp.netasp.net-mvcrazor

解决方案


你的语法不正确。请记住,您正在渲染 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;" />

只是一些思考的食物


推荐阅读