标签: displayattribute

如何通过MVC剃刀代码获取Enum成员的显示名称属性?

我的模型中有一个名为"Promotion"的属性,它的类型是一个名为"UserPromotion"的标志枚举.我的枚举成员的显示属性设置如下:

[Flags]
public enum UserPromotion
{
    None = 0x0,

    [Display(Name = "Send Job Offers By Mail")]
    SendJobOffersByMail = 0x1,

    [Display(Name = "Send Job Offers By Sms")]
    SendJobOffersBySms = 0x2,

    [Display(Name = "Send Other Stuff By Sms")]
    SendPromotionalBySms = 0x4,

    [Display(Name = "Send Other Stuff By Mail")]
    SendPromotionalByMail = 0x8
}
Run Code Online (Sandbox Code Playgroud)

现在我希望能够在我的视图中创建一个ul来显示我的"Promotion"属性的选定值.这是我到目前为止所做的,但问题是如何在这里获取显示名称?

<ul>
    @foreach (int aPromotion in @Enum.GetValues(typeof(UserPromotion)))
    {
        var currentPromotion = (int)Model.JobSeeker.Promotion;
        if ((currentPromotion & aPromotion) == aPromotion)
        {
        <li>Here I don't know how to get the display attribute of …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc displayattribute razor

185
推荐指数
12
解决办法
23万
查看次数

122
推荐指数
4
解决办法
12万
查看次数

使用DisplayAttribute和自定义资源提供程序进行ASP.NET MVC 3本地化

我使用自定义资源提供程序从数据库中获取资源字符串.这适用于ASP.NET,我可以将资源类型定义为字符串.MVC 3中模型属性的元数据属性(如[Range],[Display],[Required])需要Resource的类型作为参数,其中ResourceType是.resx文件生成的代码隐藏类的类型.

    [Display(Name = "Phone", ResourceType = typeof(MyResources))]
    public string Phone { get; set; }
Run Code Online (Sandbox Code Playgroud)

因为我没有.resx文件,所以这样的类不存在.如何将模型属性与自定义资源提供程序一起使用?

我想要这样的东西:

    [Display(Name = "Telefon", ResourceTypeName = "MyResources")]
    public string Phone { get; set; }
Run Code Online (Sandbox Code Playgroud)

System.ComponentModel中的DisplayNameAttribute为此目的具有可覆盖的DisplayName属性,但DisplayAttribute类是密封的.对于验证属性,不存在相应的类.

asp.net-mvc localization internationalization displayattribute asp.net-mvc-3

14
推荐指数
2
解决办法
3万
查看次数

DisplayName属性比Display属性有什么优势?

结果[DisplayName("foo")][Display(Name="foo")]@Html.LabelFor(x => x.MyProperty)相同.两者都生成<label for="MyProperty">foo</label>.DisplayName的优点是什么?

asp.net-mvc displayattribute

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

ASP.NET Core DisplayAttribute本地化

根据文件:

运行时不会查找非验证属性的本地化字符串.在上面的代码中,"电子邮件"(来自[显示(名称="电子邮件")])将不会本地化.

我正在寻找一种在DisplayAttribute中本地化文本的方法.有任何建议以适当的方式做到吗?

displayattribute asp.net-core asp.net-core-1.0 asp.net-core-localization

8
推荐指数
3
解决办法
8564
查看次数

带有变量Dynamic DisplayName的DisplayAttribute名称

想知道这是否可能或具有这种效果的东西.

public class MyModel
{
    public string Name { get; set; }

    [Display(Name = String.Format("This is [0]'s phone number", Name)]
    public string PhoneNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在谈论一个带有变量的DisplayName,非静态的,可能还基于模型的其他属性.这有可能吗?

c# string-formatting data-annotations displayattribute

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

关于Enum和DataAnnotation

我有这个枚举(Notebook.cs):

public enum Notebook : byte
{
   [Display(Name = "Notebook HP")]
   NotebookHP,

   [Display(Name = "Notebook Dell")]
   NotebookDell
}
Run Code Online (Sandbox Code Playgroud)

我的班级(TIDepartment.cs)中的这个属性:

public Notebook Notebook { get; set; }
Run Code Online (Sandbox Code Playgroud)

它工作得很好,我只有一个"问题":

我创建了一个EnumDDLFor,它显示我在DisplayAttribute中设置的名称,带有空格,但是对象在DisplayAttribute中没有收到该名称,收到Enum名称(正确),所以我的问题是:

有没有办法接收带有我在DisplayAttribute中配置的空格的名称?

c# enums data-annotations displayattribute asp.net-mvc-5.2

7
推荐指数
2
解决办法
9876
查看次数

ASP.NET MVC中的访问键

我打算扩展DisplayDataAnnotation属性来保存AccessKey输入字段的值,这样我就可以在我自己LabelFor<>TextBoxFor<>HtmlHelper扩展中使用它,如下所示:

[Display(Name = "User name", AccessKey = "U")]
Run Code Online (Sandbox Code Playgroud)

在此之前,有人能告诉我是否存在实现声明性访问密钥功能的现有机制?

如果没有,有人可以告诉我如何扩展DisplayDataAnnotation属性.:-)

asp.net-mvc access-keys data-annotations displayattribute

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

具有DisplayNameFor的Display属性中的ASP MVC不间断空格

我有一个带有“价格”属性的模型,该模型具有DisplayAttribute

[Display(Name = "Price (in €)")]
Run Code Online (Sandbox Code Playgroud)

现在我想使用表标题显示

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

但是,当列很小时,“文本”可能会分为两行:

Price (in
€)
Run Code Online (Sandbox Code Playgroud)

但我希望它打破这种方式:

Price
(in €)
Run Code Online (Sandbox Code Playgroud)

是否可以在Display属性中插入一个不间断的空格?使用“ Price (in&nbsp;€)”会导致“ &nbsp;”打印为文本。

asp.net asp.net-mvc displayattribute

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

根本不渲染 HTML 还是添加 display:none 更好?

据我了解,根本不为元素渲染 HTML,或者添加 display:none,似乎具有完全相同的行为:两者都使元素消失而不与 HTML 交互。

我正在尝试禁用和隐藏复选框。所以HTML的总量很小;我无法想象性能会成为问题。

就编写服务器代码而言,编码工作大致相同。

鉴于这两种选择,一种做法比另一种更好吗?或者我使用哪个并不重要?

html css displayattribute

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