Edi*_*ang 16 asp.net-mvc attributes data-annotations
我在模型类中将属性标记为只读,如下所示:
public class RegisterModel
{
[Display(Name = "User name")]
[ReadOnly(true)]
public string UserName { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
在我看来:
@Html.EditorFor(m => m.UserName)
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,文本框不是只读的.
我知道我可以在视图中使用html属性使其只读,但我更喜欢这可以在模型类本身中完成.
可以实现吗?
Shu*_*ubh 15
[更新]我不认为没有new { @readonly = "readonly" }
.Readonly
property指定此属性绑定的属性是只读还是读/写.细节在这里.
但你可以尝试自定义助手或尝试使用Editable
,而不是Readonly
在模型上,并在您查看使用元数据属性.
[Editable(false)]
Run Code Online (Sandbox Code Playgroud)
我想你已经研究过 ReadOnly(true)是否适用于Html.EditorForModel?
也是一篇很好的文章odetocode.com
Pie*_*let 11
ReadOnly
属性不会阻止HMTL帮助程序将字段显示为已启用的输入.这是唯一一个MVC数据Binder将尊重的信息.
这意味着RegisterModel
将在用户提交表单后回发的实例将始终具有null
其UserName
属性的值,而不管用户在表单的相应字段中的输入.
ReadOnly属性不将输入设置为只读.
试试这个
Html.TextBoxFor(x => x.UserName, new { readonly = "readonly" })
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18360 次 |
最近记录: |