Ref*_*din 12 .net c# telerik data-annotations
我试图让ID
字段只读.它是数据库中的标识字段,因此用户不会设置它.但他们希望看到它.如果分配给a DataForm
仍然允许该值被编辑,我在下面遗漏了什么.
public class StatusChoice : BindableBase
{
private int id;
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Editable(false,AllowInitialValue = false)]
public int ID
{
get { return id; }
set
{
id = value;
OnPropertyChanged();
}
}
}
Run Code Online (Sandbox Code Playgroud)
vij*_*jay 18
使用ReadOnly属性标记属性.
[ReadOnly(true)]
public decimal BodyMassIndex { get; private set; }
Run Code Online (Sandbox Code Playgroud)
请按照以下链接获取更多 asp.net mvc 3中DataAnnotations的行为是否已更改?
根据情况,您通常有两种选择.
[Editable(false)] or [ReadOnly(true)]
以下是MSDN的说明
System.ComponentModel.ReadOnlyAttribute
Run Code Online (Sandbox Code Playgroud)
https://msdn.microsoft.com/en-us/library/system.componentmodel.readonlyattribute%28v=vs.110%29.aspx
指定此属性绑定的属性是只读还是读/写.无法更改标记为ReadOnlyAttribute设置为true或没有Set方法的成员.没有此属性或标记为ReadOnlyAttribute设置为false的成员是可读/写的,可以更改它们.默认为否.
System.ComponentModel.DataAnnotations.EditableAttribute
Run Code Online (Sandbox Code Playgroud)
指示数据字段是否可编辑.
数据字段上存在EditableAttribute属性指示用户是否应该能够更改字段的值.此类既不强制也不保证字段可编辑.无论是否存在此属性,基础数据存储都可能允许更改字段.