3

如何使用枚举类的值作为选项InputSelect

示例枚举:

public enum Test
{
    Test1,
    Test2
}

我与 Blazor 一起使用Razor components

4

3 回答 3

5

这是一个如何在 InputSelect 组件中使用枚举的工作示例:

<EditForm EditContext="@EditContext">
    <DataAnnotationsValidator />

    <div class="form-group">
        <label for="name">Enter your Name: </label>
        <InputText Id="name" Class="form-control" @bind-Value="@comment.Name"></InputText>
        <ValidationMessage For="@(() => comment.Name)" />

    </div>
    <div class="form-group">
        <label for="body">Select your country: </label>

        <InputSelect @bind-Value="@comment.Country" >
          
            @foreach (var country in Enum.GetValues(typeof(Country)))
            {
            
                <option value="@country">@country</option>
            }
        </InputSelect>
               
        <ValidationMessage For="@(() => comment.Country)" />
    </div>

    <p>
        <button type="submit">Submit</button>
    </p>
</EditForm>
   
@code
    {
    private EditContext EditContext;
    private Comment comment = new Comment();

   
    protected override void OnInitialized()
    {
        EditContext = new EditContext(comment);


        base.OnInitialized();
    }

    public enum Country
    {
        USA = 1,
        Britain,
        Germany,
        Israel

    }
    public class Comment
    {

        public string Name { get; set; }
        public Country Country { get; set; }
    }
    
}

希望这可以帮助...

于 2020-07-09T19:37:53.087 回答
1

所以简而言之就是这样:

<InputSelect @bind-Value="@YourEnum">
    @foreach (var value in Enum.GetValues<YourEnumType>()) {
        <option value="@value">@value</option>
    }
</InputSelect>
于 2021-12-02T08:30:57.583 回答
-1
<select>

    @foreach (var Item in Enum.GetValues(typeof( DayOfWeek)))
    {
        <option value="@Item">@Item</option>
    }
于 2020-07-09T19:47:43.997 回答