Razor Page asp-for 调用是否可以使用动态变量作为 asp-for 值的一部分
Can Razor Page asp-for calls use dynamic variables as part of the asp-for value
我想知道是否有一种方法可以从我拥有的 class 中获取字符串值,然后将这些字符串值用作 Razor 页面上 asp-for 的值的插入?我的示例将有助于解释我正在尝试做的事情以及它是否可能。
我有一个像下面这样的 class,它只包含星期几的名称...然后我希望能够动态地使用星期名称来构建 asp-对于实际 var/property 名称的值。就像在 asp-for="@(Day)StartTime" 中一样,它实际上是名为 SaturdayStartTime、SundayStartTime 等的代码背后的 var。 .然后对于@SpanHours,同样适用的是 属性 关闭 MyObject ,即 MyObject.SaturdaySpanHours , MyObject.SundaySpanHours 等......所以基本上只是希望能够 foreach 因为我'下面已经完成了,但当然那是行不通的。是否有另一种方法能够动态地将值插入 asp-for's ?谢谢
public class Days
{
[BindProperty]
public static List<string> DaysList { get; set; } = new List<string>
{
new string("Saturday"),
new string("Sunday"),
new string("Monday"),
new string("Tuesday"),
new string("Wednesday"),
new string("Thursday"),
new string("Friday")
};
}
<div>
@{
foreach (string Day in Days.DaysList)
{
string SpanHours = "MyObject." + Day + "SpanHours";
<input type="time" value="@Model.MyObject.@(Day)StartTime.ToString("HH:mm")" asp-for="@(Day)StartTime" />
<input asp-for="@SpanHours" class="form-control" value=@Model.MyObject.@(Day)SpanHours />
}
}
</div>
只是不要使用 asp-for
!而是使用 name
和 id
:
<input name="@SpanHours" id="@SpanHours" class="form-control" value=@Model.MyObject.@(Day)SpanHours />
我想知道是否有一种方法可以从我拥有的 class 中获取字符串值,然后将这些字符串值用作 Razor 页面上 asp-for 的值的插入?我的示例将有助于解释我正在尝试做的事情以及它是否可能。
我有一个像下面这样的 class,它只包含星期几的名称...然后我希望能够动态地使用星期名称来构建 asp-对于实际 var/property 名称的值。就像在 asp-for="@(Day)StartTime" 中一样,它实际上是名为 SaturdayStartTime、SundayStartTime 等的代码背后的 var。 .然后对于@SpanHours,同样适用的是 属性 关闭 MyObject ,即 MyObject.SaturdaySpanHours , MyObject.SundaySpanHours 等......所以基本上只是希望能够 foreach 因为我'下面已经完成了,但当然那是行不通的。是否有另一种方法能够动态地将值插入 asp-for's ?谢谢
public class Days
{
[BindProperty]
public static List<string> DaysList { get; set; } = new List<string>
{
new string("Saturday"),
new string("Sunday"),
new string("Monday"),
new string("Tuesday"),
new string("Wednesday"),
new string("Thursday"),
new string("Friday")
};
}
<div>
@{
foreach (string Day in Days.DaysList)
{
string SpanHours = "MyObject." + Day + "SpanHours";
<input type="time" value="@Model.MyObject.@(Day)StartTime.ToString("HH:mm")" asp-for="@(Day)StartTime" />
<input asp-for="@SpanHours" class="form-control" value=@Model.MyObject.@(Day)SpanHours />
}
}
</div>
只是不要使用 asp-for
!而是使用 name
和 id
:
<input name="@SpanHours" id="@SpanHours" class="form-control" value=@Model.MyObject.@(Day)SpanHours />