相关疑难解决方法(0)

从HTML帮助程序中提取显示名称和描述属性

我正在构建一个如下所示的自定义HTML.LabelFor助手:

public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> self, Expression<Func<TModel, TValue>> expression, Boolean showToolTip)
{
  var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
  ...
}
Run Code Online (Sandbox Code Playgroud)

为了能够获得属性的正确名称,我使用以下代码:

metadata.DisplayName
Run Code Online (Sandbox Code Playgroud)

在ModelView类的属性上我得到了:

[DisplayName("Titel")]
Run Code Online (Sandbox Code Playgroud)

问题是我还需要一个描述.有一个名为Display的属性,它有名称和描述,但我没有看到如何使用上面代码中的元数据变量来提取它?

c# reflection attributes html-helper asp.net-mvc-2

8
推荐指数
1
解决办法
6723
查看次数

在MVC 4中获取表头名称的最佳方法

我正在尝试在表格中显示对象列表.我可以遍历每个单独的项目以找到它的值(使用for循环或DisplayTemplate),但是我如何非常地选择一个来显示整个组的标题.

这是一个简化的例子:

型号:

public class ClientViewModel
{
    public int Id { get; set; }
    public List<ClientDetail> Details { get; set; }
}
public class ClientDetail
{
    [Display(Name="Client Number")]
    public int ClientNumber { get; set; }
    [Display(Name = "Client Forname")]
    public string Forname { get; set; }
    [Display(Name = "Client Surname")]
    public string Surname { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

视图

@model MyApp.ViewModel.ClientViewModel

@{ var dummyDetail = Model.Details.FirstOrDefault(); }

<table>
    <thead>
        <tr>
            <th>@Html.DisplayNameFor(model => dummyDetail.ClientNumber)</th>
            <th>@Html.DisplayNameFor(model => dummyDetail.Forname)</th>
            <th>@Html.DisplayNameFor(model …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-4

5
推荐指数
1
解决办法
8077
查看次数

Display属性中的ShortName(DataAnnotations)

Name属性正常工作,但ShortName不起作用.

[Display(Name = "Date of the transfer the task", ShortName = "Trans date")]
public DateTime TransferDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

即使我删除了Name属性,也会忽略ShortName(列标题中会显示"TransferDate").

在视图中我这样做:

@Html.DisplayNameFor(model => model.TransferDate)
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc data-annotations razor asp.net-mvc-4

3
推荐指数
1
解决办法
2548
查看次数

如何获取"description"属性而不是模型的"name"属性 - (MVC asp.net)

我有一个模型和一个领域......等等这是微不足道的.但是,我需要从我的视图中获取字段中的"描述"属性和您的"名称"属性.使用@Html ...可以使用"DisplayNameFor"返回,显而易见.但是,如何获得"描述"属性?没有像@ Html.DisplayDescription这样的助手?有可能得到这个吗?

[Column("abc")]
[Display(Description = "The Description", GroupName = "The Group", Name = "The Name")]
public string field { get; set; }
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.对不起英语不好.;)

c# asp.net-mvc data-annotations asp.net-mvc-4

1
推荐指数
1
解决办法
6474
查看次数