我正在使用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;" />
但是,这不会附加路径字符串,并且文件不会加载。我已经尝试将图像放在一般图像文件夹中,我只是觉得我的语法错误。
答案 0 :(得分:2)
你的语法不正确。请记住,您正在渲染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;" />
只是一些值得思考的东西
答案 1 :(得分:1)
试试这个(使用Html.Raw助手):
<img src="@Html.Raw("~/Content/Images/" + c.ImageFileName)"
alt="@Html.Raw(c.CatName)" style="width:64px;height:48px;" />