我是ASP.Net MVC 5的初学者,我想知道如何通过删除set访问器来使属性只读。
所以我总是可以像下面那样只读一个属性
方法1:
[ReadOnly(true)]
public string Name {get; set;}
方法2:
在cshtml文件中,我可以使用"readonly"
属性
方法3:
但我想做类似下面的事情
public string Name {get;}
当我这样做时,我得到错误
“您必须声明一个正文,因为该属性未标记为extern或 抽象的“
我正在看一个导师告诉我应该工作的教程。请指导我。
P.S:我知道第一个方法用户仍然可以编辑表单中的值,但post方法中提交的值将始终为NULL
答案 0 :(得分:4)
您可以使用public string Name {get; private set;}
。
这意味着getter是public
属性,但是setter是private
。因此,只能通过类中的代码来设置属性。只读访问该类实例的任何外部代码。