Asp.net mvc 3 有没有办法在Asp.net MVC3中使用数据批注删除属性?

Asp.net mvc 3 有没有办法在Asp.net MVC3中使用数据批注删除属性?,asp.net-mvc-3,data-annotations,Asp.net Mvc 3,Data Annotations,我不想在视图中显示用户名。类似于创建不需要的注释。一种解决方案是删除UserName表单类,但我不希望这样。 如何使用数据注释完成此操作。您可以使用该属性 Public class UserMetdata { [Required] [Display(Name="User ID")] public int UserID { get; set; } [Display(Name="User Name")] public string UserName {

我不想在视图中显示用户名。类似于创建不需要的注释。一种解决方案是删除UserName表单类,但我不希望这样。 如何使用数据注释完成此操作。

您可以使用该属性

Public class UserMetdata
  {
    [Required]
    [Display(Name="User ID")]
    public int UserID { get; set; }

    [Display(Name="User Name")]
    public string UserName { get; set; }

}
只有当您让框架通过调用
@Html.DisplayForModel()
或类似方法动态生成视图,并且您没有在
视图/Shared/DisplayTemplates
视图/ControllerName/DisplayTemplates>中为该模型定义显示模板时,这才有效。否则,您应该编辑该显示模板并从中删除可用于该属性的相应行

Public class UserMetdata
  {
    [Required]
    [Display(Name="User ID")]
    public int UserID { get; set; }

    [Display(Name="User Name")]
    public string UserName { get; set; }

}

只有当您让框架通过调用
@Html.DisplayForModel()
或类似方法动态生成视图,并且您没有在
视图/Shared/DisplayTemplates
视图/ControllerName/DisplayTemplates>中为该模型定义显示模板时,这才有效。否则,您应该编辑该显示模板并从中删除相应的行

请向我们显示您视图的代码。它通常与我们在模型视图中使用的代码相同。我要做的唯一一件事就是不允许该属性出现。我的意思是我们可以有一个像[Required]这样的[NotRequired]属性吗这完全不会在视图中显示该属性您是否需要动态创建视图,或者您是否可以从生成的代码中省略该字段?请向我们显示您视图的代码。这通常与我们在视图中使用的模型类似。我要做的唯一一件事是不允许该属性进入视图。我的意思是,我们可以有一个像[Required]这样的[NotRequired]属性,它完全不会在视图中显示该属性吗?您需要动态创建视图吗?或者您可以从生成的代码中省略该字段吗?不,但该属性在视图中仍然可用。但当您让框架在运行时动态创建视图时,可以看到这个属性的作用。您是否为该类定义了静态DisplayTemplate?没有,它是一个具有属性的普通类。这肯定有效-@Padmalochan,您应该检查代码。如果你能评论一下你的观点,我将不胜感激action@Html.EditorFor(model=>model.UserName)。。我不希望用户名进入此页面否,但该属性在视图中仍然可用。但当您让框架在运行时动态创建视图时,可以看到这个属性的作用。您是否为该类定义了静态DisplayTemplate?没有,它是一个具有属性的普通类。这肯定有效-@Padmalochan,您应该检查代码。如果你能评论一下你的观点,我将不胜感激action@Html.EditorFor(model=>model.UserName)。。我不想用户名进入这个页面