- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我喜欢 MVC 5.1 中的新 Html.EnumDropdownListFor,我发现我可以像这样在 Display 属性中指定值的顺序:
public enum AssignableDataFieldEnum
{
[Display(Name = "Code Value", Order=1)]
CodeValue = 1,
[Display(Name = "Final Digit", Order=2)]
FinalDigit = 2,
[Display(Name = "Group Number", Order=3)]
GroupNumber = 3,
[Display(Name = "Sequence Number", Order=4)]
SequenceNumber = 4
}
这个解决方案在本地化方面似乎目光短浅。有没有办法自动让 MVC 为我按字母顺序排列 DDL?
最佳答案
我想出了一个解决方案,它获取枚举值,对它们进行排序,然后调用 HtmlHelper.DropDownListFor()
。
public static MvcHtmlString EnumSortedDropDownListFor<TModel, TEnum>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TEnum>> expression, string optionLabel = null, IDictionary<string, object> htmlAttributes = null) {
ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
var selectList = EnumHelper.GetSelectList(metadata.ModelType).OrderBy(i => i.Text).ToList();
if (!String.IsNullOrEmpty(optionLabel) && selectList.Count != 0 && String.IsNullOrEmpty(selectList[0].Text)) {
selectList[0].Text = optionLabel;
optionLabel = null;
}
return htmlHelper.DropDownListFor(expression, selectList, optionLabel, htmlAttributes);
}
关于c# - Html.EnumDropdownListFor 我可以按字母顺序排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24127458/
在我的 MVC5 应用程序中,我有一个显示日志的页面。 我有一个下拉列表来过滤日志记录级别,它们是: 全部 调试 错误 信息 我已经定义了一个名为 ErrorLevel 的枚举: public enu
这可能是重复的,所以我已经指出了我从这个网站上阅读的哪些地方让我取得了一些进步... 我有一个定义如下的模型: public enum RequestType { [Display(Name
我喜欢 MVC 5.1 中的新 Html.EnumDropdownListFor,我发现我可以像这样在 Display 属性中指定值的顺序: public enum AssignableDat
在 MVC 5.1 中使用新的 Html.EnumDropDownListFor 扩展方法时,我遇到了一个问题,即所选值没有根据我所设置的路由属性在下拉列表中更新传递给我的 Controller 操作
我想更新数据库中的 VazList,以记录其 enumdropdownlistfor 项目已更改。我希望将所选值分配给该记录的 VazList 。 @using (Html.BeginForm("In
我正在使用我的枚举渲染一个下拉列表框,我只有 3 个选项,但由于某种原因它显示了四个。顶部和默认选项只是空白/空,我希望将其删除。我希望顶部/默认值为“Option1”。 枚举: public enu
在我看来我有一个 enumdropdownlist (Asp.Net MVC 5.1 中的新功能)。 @Html.EnumDropDownListFor(m => m.SelectedLicense,
我在 ASP.NET MVC 应用程序中工作。我正在使用的数据库是遗留数据库。 在我的代码中,我有一个如下所示的枚举: public enum Fruit { Apple = -1,
我有两个枚举: public enum AnnouncementType { All = 1, Corporate = 2, Franchisee = 3 } public e
我在 ASP.NET MVC 中使用 EnumDropDownListFor: @Model.PhoneNumberType @Html.EnumDropDownListFor(model =>
童话般的情况,我需要允许用户从 ASP.NET MVC 应用程序中的枚举中选择一个值。由于我使用的是 MVC 5.2 版,因此我可以简单地执行以下操作: // Model public MyEnum
童话般的情况,我需要允许用户从 ASP.NET MVC 应用程序中的枚举中选择一个值。由于我使用的是 MVC 5.2 版,因此我可以简单地执行以下操作: // Model public MyEnum
我有一个 razor 语法 enumdropdownlist 用于显示事件/非事件状态。 @Html.EnumDropDownListFor(model => model.Status, new {
我的项目有一个大问题。我有一个具有枚举类型属性的 ViewModel:Constants.Days Day(星期一 = 1 到星期日 = 7),我已经在编辑 View 中使用它来生成下拉列表。在其中正
正如问题所述,我有一个非常简单的 Asp.Net MVC 5 应用程序,我将 Bootstrap 3.1 与以下助手一起使用, @this.Html.EnumDropDownListFor(model
在我的 ASP.NET MVC 5 应用程序中,我有一个枚举: public enum cars { Audi = 1, BMW = 2, Ferrari = 3 } 在我看来,我使用
我有一个页面包含一个枚举的下拉列表,它绑定(bind)到模型中的一个字段上,我还有一个具有相同名称的 url 参数(首字母的大小写不同)。 当 url 参数为空时,枚举的绑定(bind)不正确。为了澄
我有一个带有显示描述属性的枚举, public enum CSSColours { [Display(Description = "bg-green")] Gr
我有一个用于用户管理页面的枚举列表。我在 MVC 5.1 中使用新的 HtmlHelper,它允许我为枚举值创建一个下拉列表。我现在需要从列表中删除 Pending 值,该值只能以编程方式设置,永远不
我正在 Asp.net Core 中移植 MVC5 应用程序。我找不到 @Html.EnumDropDownListFor() 它已被弃用吗?有替代品吗?有没有任何文档可以让我找到所有这些小的重大更改
我是一名优秀的程序员,十分优秀!