gpt4 book ai didi

c# - Html.EnumDropdownListFor : Showing a default text

转载 作者:IT王子 更新时间:2023-10-29 03:44:16 24 4
gpt4 key购买 nike

在我看来我有一个 enumdropdownlist (Asp.Net MVC 5.1 中的新功能)。

@Html.EnumDropDownListFor(m => m.SelectedLicense,new { @class="form-control"})

如果我执行上面的代码,我会得到以下枚举的下拉列表。

public enum LicenseTypes
{
Trial = 0,
Paid = 1
}

但默认情况下我希望我的下拉列表有一个值(自定义文本)这就是我尝试过的

@Html.EnumDropDownListFor(m => m.SelectedLicense,"Select a license" ,new { @class="form-control"})

但现在的问题是当我运行它时,我的下拉列表看起来像这样 enter image description here所以,默认情况下我想显示的默认文本不会出现。如果用户选择“选择许可证”并尝试提交表单,它会显示一条错误消息“选择许可证”,但不会显示为默认文本。我需要改变什么吗?

Ps:图片为页面加载时的截图。默认情况下,它会将试用显示为已选择的选项。

最佳答案

尝试改变 LicenseTypesIndex1 而不是 0 开始,如下所示:

public enum LicenseTypes
{
Trial = 1,
Paid = 2
}

然后您可以使用Range 属性 来验证所选的许可证类型,如下所示:

public class YourViewModel
{
//Other properties
[Range(1,int.MaxValue,ErrorMessage = "Select a correct license")]
public LicenseTypes LicenseTypes { get; set; }
}

最后,在您看来:

   @Html.EnumDropDownListFor(m => m.LicenseTypes,"Select a license",new { @class = "form-control"})
@Html.ValidationMessageFor(m => m.LicenseTypes)

关于c# - Html.EnumDropdownListFor : Showing a default text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com