1
public class SmsListFormModel
{
[MyRequired]
[Display(Name = Translations.Global.MESSAGE)]
public virtual string SmsMessage { get; set; }
}
然後我做覆蓋屬性覆蓋沒有任何影響
public class SepaExportSmsListFormModel : SmsListFormModel
{
[Display(Name = Translations.Global.MESSAGE)]
public override string SmsMessage { get; set; }
}
所以現在SmsMessage不應該我委託人的任何更多。
但是如果我檢查代碼:
@Html.TextBoxAreaFor(x => x.SmsMessage)
和裏面的代碼,如:
var metaData = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
if (metaData.IsRequired) {....
但SmsMessage
始終是必需的,即使我重寫它。爲什麼?
屬性不能被覆蓋?
解決方案是什麼?
什麼模型類型的視圖中使用?我們在這裏討論的是什麼壓倒一切的東西?這兩個模型類似乎是完全分開的,只是碰巧有相同的字段 – Andrei
對不起我的錯誤遺忘:SmsListFormModel – senzacionale
假設SepaExportSmsListFormModel繼承自SmsListFormModel,Attribute類將AttributeUsage Inherited屬性設置爲true,請參見http:// msdn。 microsoft.com/en-us/library/system.attribute(v=vs.110).aspx –