Asp.net mvc 3 在MVC中将实体属性转换为HiddenField时出现问题

Asp.net mvc 3 在MVC中将实体属性转换为HiddenField时出现问题,asp.net-mvc-3,Asp.net Mvc 3,我有一个供应商实体,包含 ID - int Status - string Name - string CreateDate- datetime 我正在使用分部类方法为上述实体创建数据注释 HiddenInput批注引发错误,表示“属性'HiddenInput'在此声明类型上无效。它仅在'class,property,indexer'声明上有效。” 请帮助错误说明该属性只能添加到“类、属性或索引器声明”中 public Int32 ID不是其中任何一个-它是一个字段 如果您将其更改为属性 pu

我有一个供应商实体,包含

ID - int
Status - string
Name - string
CreateDate- datetime
我正在使用分部类方法为上述实体创建数据注释

HiddenInput批注引发错误,表示“属性'HiddenInput'在此声明类型上无效。它仅在'class,property,indexer'声明上有效。”


请帮助

错误说明该属性只能添加到“类、属性或索引器声明”中

public Int32 ID
不是其中任何一个-它是一个字段

如果您将其更改为属性


public Int32 ID{get;set;}
您可以使用该属性对其进行修饰。

错误说明该属性只能添加到“类、属性或索引器声明”中

public Int32 ID
不是其中任何一个-它是一个字段

如果您将其更改为属性


public Int32 ID{get;set;}
您将能够使用该属性对其进行修饰。

您的所有属性定义不正确,因为它们缺少get/set访问器。NET中的所有属性都需要getter和/或setter访问器。将代码更改为:

public class SupplierMetadata
{
    [HiddenInput]
    public Int32 ID { get; set; }

    [Required]
    [UIHint("StatusList")]
    [Display(Name = "Status")]
    public string Status { get; set; }

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

所有属性的定义都不正确,因为它们缺少get/set访问器。NET中的所有属性都需要getter和/或setter访问器。将代码更改为:

public class SupplierMetadata
{
    [HiddenInput]
    public Int32 ID { get; set; }

    [Required]
    [UIHint("StatusList")]
    [Display(Name = "Status")]
    public string Status { get; set; }

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