C# 使用dataannotation属性将属性设置为只读
我有我想要的只读属性名。所以在viewmodel内部,我用属性readonly修饰了这个属性,就像C# 使用dataannotation属性将属性设置为只读,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我有我想要的只读属性名。所以在viewmodel内部,我用属性readonly修饰了这个属性,就像 [ReadOnly(true)] public string Name { get; set; } 在我的编辑视图里面 @Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name) 我仍然可以在文本框中编辑和修改 我应该使用一些css类来禁用视图端的这个文本框,或者这应该
[ReadOnly(true)]
public string Name { get; set; }
在我的编辑视图里面
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
我仍然可以在文本框中编辑和修改
我应该使用一些css类来禁用视图端的这个文本框,或者这应该足够了(如果这就是为什么这个解决方案不起作用的原因)。您是否想过使用@Html.DisplayFor而不是明确要求使用编辑器的编辑器?尝试使用editable attubute
[Editable(false)]
public string Name { get; set; }
也可以看看这些问答
检查我的答案
您必须根据情况使用只读和可编辑我知道这是一个老问题,但为什么会有ReadOnly=true的验证消息?