相关疑难解决方法(0)

Html.LabelFor指定文本[ASP.NET MVC 2]

任何人都知道如何在使用时指定文本Html.LabelFor(c=>c.MyField).它MyField可能不是一个在屏幕上显示的合适名称,你可能想要"超级神奇场",但似乎没有任何重载.

有任何想法吗?

c# asp.net-mvc razor

78
推荐指数
3
解决办法
7万
查看次数

如何从代码中检索数据注释?(编程)

我正在使用System.ComponentModel.DataAnnotations我的Entity Framework 4.1项目进行验证.

例如:

public class Player
{
    [Required]
    [MaxLength(30)]
    [Display(Name = "Player Name")]
    public string PlayerName { get; set; }

    [MaxLength(100)]
    [Display(Name = "Player Description")]
    public string PlayerDescription{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我需要检索Display.Name注释值以在消息中显示它,例如所选的"玩家名称"是Frank.

================================================== ===============================

我需要检索注释的另一个例子:

var playerNameTextBox = new TextBox();
playerNameTextBox.MaxLength = GetAnnotation(myPlayer.PlayerName, MaxLength);
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c# data-annotations entity-framework-4.1

50
推荐指数
3
解决办法
4万
查看次数

从资源文件中获取DisplayName

我在App_GlobalResources文件夹中有特定于文化的资源文件.现在我需要从此资源文件中读取DisplayName属性的值.我在用:

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

但我收到以下错误:

无法检索属性"名称",因为本地化失败.类型"Resources.Resource"不是公共的,或者不包含名为"MerchantName"的公共静态字符串属性.

我该如何解决这个问题?

.net c# asp.net-mvc-3

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

ASP.NET MVC4:属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式

我有以下代码:

    [Required(ErrorMessage = MessageModel.translateMessage("required")))]
    [Display(Name= MessageModel.translateMessage("id"))]
    public string user_id { get; set; }
Run Code Online (Sandbox Code Playgroud)

我试图使错误消息动态,但我在编译时得到错误:

"An attribute argument must be a constant expression , typeof expression or array creation expression of an attribute parameter type."

解决这个问题的任何方法?

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

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

本地化 - 如何在asp.net mvc中获取客户端区域设置?

我的问题是我的头衔.

 Localization - how to get the client locale in asp.net mvc ?
Run Code Online (Sandbox Code Playgroud)

我看到一些基于url路由的帖子,有什么方法可以从浏览器或从请求到服务器和进程获取数据.有没有办法从asp.net获取浏览器区域设置.我正在创建自定义显示属性来处理本回答中提到的本地化.

这是因为我使用DB来保存我的本地化值.我的计划是获取数据并使用Display Attribute,它将显示本地值.我需要浏览器的语言环境.因此,在基于它进行渲染之前,是否可以获取浏览器的区域设置和查询.

提前致谢.

.net asp.net-mvc localization

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

如何在ASP.NET MVC2中使用和/或本地化DisplayAttribute?

可能重复:
来自Resources的DisplayName属性?

我试图弄清楚如何在我的MVC 2 ViewModel中使用DisplayAttribute来使用Html.LabelFor()帮助器.

也不

public class TestModel
{
    [Display(ResourceType = typeof(Localization.Labels))]
    public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

也不

public class TestModel
{
    [Display(Name = "test")]
    public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

似乎工作.本地化必需属性按预期工作:

[Required(ErrorMessageResourceName = "Test", ErrorMessageResourceType = typeof(Localization.Labels))]
Run Code Online (Sandbox Code Playgroud)

我正在使用VS2010 RC.有人跑了吗?

asp.net data-annotations asp.net-mvc-2

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

使用Resources在ASP.NET MVC4中本地化ViewModel

首先,我想澄清一下,我目前正在使用ASP.NET MVC的Model实体,ViewModel因为我的项目基于MVCVM,所以我不仅仅是混淆了两者.

无论如何,MVC会自动为ViewModel实体创建一些属性,如下所示(来自向导,本地化为意大利语)

public class LoginModel
{
    [Required]
    [Display(Name = "Nome utente")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Memorizza account")]
    public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

替换Display属性[Display(Name = LoginViewModelResources.lblUsername)]会导致编译错误:"参数必须是常量表达式,类型表达式或矩阵创建表达式".简而言之,属性引用是禁止的.

Razor视图使用以下标记生成HTML

@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
Run Code Online (Sandbox Code Playgroud)

如何本地化ViewModel以便在前端显示正确的消息?

localization asp.net-mvc-4

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