这个问题与 Visual Studio 2013、Asp.net MVC-5.2.2 项目有关:
我的班级中有一个 NotMapped 字符串属性:
[NotMapped]
public string myNotMappedAttribute{ get; set; }
我使用此属性(未映射到 Controller 的原始表中)来填充与所考虑的 Controller 的表具有外键关系的不同表中的列。同样,这个想法在创建中非常有效,但在编辑中无效。
我有一个在 Create.cshtml(剃刀)中工作的 MVC EditorFor 框,如下所示:
<div class="editor-label">
@Html.LabelFor(model => model.myNotMappedAttribute)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.myNotMappedAttribute)
@Html.ValidationMessageFor(model => model.myNotMappedAttribute)
</div>
但是,完全相同的剃刀代码在 Edit.cshtml 文件中使用时返回 null。
在控制器的 Edit post-back 方法中,此属性(并且只有此属性)为 null,其他属性具有正确的值。我什至移动了这个属性,所以它不会是最后一个属性,并且是正确的。
关于为什么这会在创建而不是编辑中起作用的任何想法?