Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 绑定到在mvc中返回另一个属性的只读属性_Asp.net Mvc_Vb.net_Entity Framework_Razor - Fatal编程技术网

Asp.net mvc 绑定到在mvc中返回另一个属性的只读属性

Asp.net mvc 绑定到在mvc中返回另一个属性的只读属性,asp.net-mvc,vb.net,entity-framework,razor,Asp.net Mvc,Vb.net,Entity Framework,Razor,假设我有一个实体,它有3个属性A、B和C,都是相同的复杂数据类型。现在我定义了另一个未映射的、只读的属性D,该属性属于相同的复杂数据类型。属性D返回三个原始属性中任意一个的引用,即(A、B或C),具体取决于某些内部逻辑。我的问题是— 现在,我可以用RAZOR视图中编辑页面的编辑器控件绑定属性D了吗 如果这是不可能的,那么有什么解决办法吗 (注意:我使用VB.NET作为编码语言)。您不能。DefaultModelBinder无法设置只读属性的值。但是为什么您希望用户编辑只读属性?非映射的&只读的标

假设我有一个实体,它有3个属性A、B和C,都是相同的复杂数据类型。现在我定义了另一个未映射的、只读的属性D,该属性属于相同的复杂数据类型。属性D返回三个原始属性中任意一个的引用,即(A、B或C),具体取决于某些内部逻辑。我的问题是—

现在,我可以用RAZOR视图中编辑页面的编辑器控件绑定属性D了吗

如果这是不可能的,那么有什么解决办法吗


(注意:我使用VB.NET作为编码语言)。

您不能。
DefaultModelBinder
无法设置只读属性的值。但是为什么您希望用户编辑只读属性?
非映射的
&
只读的
标记的属性永远无法在
DefaultModelBinder
实例中分配。它需要其他可写属性来读取它的值&参与模型绑定模式。经过深思熟虑,我刚刚删除了只读关键字,并定义了一个未映射属性的set部分。成功了。不管怎样,我决定跳过这件事,因为事情变得越来越复杂了。