考慮以下剃刀型號爲NULL片段:MVC發佈時包含一定值
<div class="form-group">
@Html.LabelFor(model => model.Model, new {@class="col-lg-3 control-label" })
<div class="col-lg-9">
@Html.TextBoxFor(model => model.Model, new {@readonly="readonly",
tabindex="3",
@class="form-control focus-effect",
placeholder=Model.Model,
title=Model.Model })
</div>
</div>
有什麼有趣的有關此特定片段是,一旦我刪除它,我的模型的帖子回來就好了。但是如果我添加它,模型將返回爲空。我有大約20個其他屬性使用完全相同的代碼片段(當然,標題和佔位符的名稱和值都是唯一的)顯示。
例如
<div class="form-group">
@Html.LabelFor(model => model.DMSStockNo, new {@class="col-lg-3 control-label" })
<div class="col-lg-9">
@Html.TextBoxFor(model => model.DMSStockNo, new {@readonly="readonly",
tabindex="5",
@class="form-control focus-effect",
placeholder=Model.DMSStockNo,
title=Model.DMSStockNo })
</div>
</div>
有問題的型號:
public class VehicleDetailsModel
{
[DisplayName("Stock Number")]
public string DMSStockNo { get; set; }
[DisplayName("Vehicle Model")]
public string Model { get; set; }
//snip
}
是不是因爲我愚蠢地選擇了打電話給物業 「模式」?正如我所說,如果我從我的編輯窗體中刪除Model.Model併發回,所有els都會發布,並且我得到一個傳遞給控制器方法的VehicleDetailsModel對象,但是如果包含它,我的VehicleDetailsModel本身就是null。
我從來沒有遇到與「模型」的名稱衝突,但我想這是值得測試的。如果將屬性重命名爲「VehicleModel」,會發生什麼情況? – David
剛做,它的工作原理。讓這成爲一個教訓。 –