我已经找遍了,也找不到答案,如果有任何帮助,我将不胜感激!
我在razor页面上有一个ForEach循环,它循环遍历约会列表,每个约会列表都有不同的 colored颜色 (我在调试器中观察了整个过程和值).但它只将所有循环的项呈现为Foreach循环中的最后一个 colored颜色 .
这是一个循环
@foreach (var a in appt.ToList())
{
<ApptCard @key="a.Text" Text="@a.Text" BoxColor="@users.Where(x => x.Id == a.Id).FirstOrDefault().Color"/>
}
这是正在循环的卡片
@using System.Drawing
<style>
.apptColor{
background-color: @rgbaColor;
}
</style>
<MudPaper Class="pa-2 apptColor">@($"{Text})</MudPaper>
@code {
[Parameter] public string Text { get; set; } = null!;
[Parameter] public string BoxColor { get; set; } = null!;
private string rgbaColor;
protected override Task OnInitializedAsync()
{
var color = ColorTranslator.FromHtml(BoxColor);
int r = Convert.ToInt16(color.R);
int g = Convert.ToInt16(color.G);
int b = Convert.ToInt16(color.B);
rgbaColor = string.Format("rgba({0}, {1}, {2}, {3});", r, g, b, .2);
return base.OnInitializedAsync();
}
}
colored颜色 来自数据库.
在图片中,第一个 colored颜色 应该是红色,第二个是棕色,第三个是绿色,第四个是红色.