C# 基于模型元素的图像动态渲染
我有一个视图模型,其中包含一个字符串列表,我想用它动态地将一些图像渲染到razor视图C# 基于模型元素的图像动态渲染,c#,html,image,bootstrap-4,razor-pages,C#,Html,Image,Bootstrap 4,Razor Pages,我有一个视图模型,其中包含一个字符串列表,我想用它动态地将一些图像渲染到razor视图 公共列表状态{get;set;}=new List(){“ACT”、“NSW”、“NT”、“QLD”、“SA”、“TAS”、“VIC”、“WA”} 这就是我正在做的: @foreach (var state in Model.States) { var stateImage = $"~/Images/{state}.jpg"; <div class="
公共列表状态{get;set;}=new List(){“ACT”、“NSW”、“NT”、“QLD”、“SA”、“TAS”、“VIC”、“WA”}代码>
这就是我正在做的:
@foreach (var state in Model.States)
{
var stateImage = $"~/Images/{state}.jpg";
<div class="col-lg-4 col-xl-4 col-md-6 pb-4 card-deck">
<div class="card">
<img src="@stateImage" class="card-img" />
</div>
</div>
}
@foreach(Model.States中的变量状态)
{
var stateImage=$“~/Images/{state}.jpg”;
}
我遇到的问题是图像无法渲染。如果我硬编码路径(“~/Images/ACT.jpg”用于
示例)然后它工作正常,图像加载,如果我通过调试器观察它,甚至只是在div上显示它,那么它显示的内容与我硬编码的内容完全相同,但它仍然无法呈现图像,我不确定原因。需要以与代码相同的方式对~
进行评估。如果将其分配给字符串变量,则无法将其解析为Razor语法。在您的示例中,无论如何都不需要使用字符串变量
试试这个:
@foreach (var state in Model.States)
{
<div class="col-lg-4 col-xl-4 col-md-6 pb-4 card-deck">
<div class="card">
<img src="~/Images/@stateImage" class="card-img" />
</div>
</div>
}
@foreach(Model.States中的变量状态)
{
}
谢谢你,这很好用,我现在觉得这么简单的修复很傻!