【问题标题】:Can Razor Page asp-for calls use dynamic variables as part of the asp-for valueRazor Page asp-for 调用能否使用动态变量作为 asp-for 值的一部分
【发布时间】:2021-06-21 07:11:02
【问题描述】:

我想知道是否有一种方法可以从我拥有的类中获取字符串值,然后将这些字符串值用作 Razor 页面上 asp-for 值的插入?我的示例将有助于解释我正在尝试做的事情以及它是否可能。

我有一个像下面这样的类,它只包含星期几的名称......然后我希望能够动态使用星期的名称来构建实际 var/property 的 asp-for 值名称.. 就像在 asp-for="@(Day)StartTime" 中一样,它实际上是名为 SaturdayStartTime、SundayStartTime 等的代码后面的 var ......然后对于 @SpanHours 同样适用,MyObject 有一个属性是 MyObject.SaturdaySpanHours , MyObject.SundaySpanHours 等...所以基本上只是希望能够像我在下面所做的那样进行 foreach ,但这当然行不通。是否有另一种方法可以将值动态插入到 asp-for 中?谢谢

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.net-core razor razor-pages


    【解决方案1】:

    不要使用asp-for!改为使用nameid

    <input name="@SpanHours" id="@SpanHours" class="form-control" value=@Model.MyObject.@(Day)SpanHours />
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 2019-11-20
      • 2019-04-10
      • 2018-07-06
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      相关资源
      最近更新 更多