看起來好像ASP.NET MVC 2 Preview 1 was just released這意味着模型方面的工作方式可能略有不同。 DataAnnotation
功能允許對其模型中的屬性進行驗證是好的,但我不確定將它放在哪裏。關於管理模型的建議[ASP.NET MVC]
我手動創建我的模型作爲Steve Sanderson's book on ASP.NET MVC建議,這適合我。但是,對於來自視圖頁面的POST數據,我應該有單獨的模型嗎?所以說,我是在創造產品的項目,我的主要模式可能是這樣的:
public class Product {
[Column(IsPrimaryKey = true, IsDbGenerated = true)] public int ProductID { get; set; }
[Column] public string ProductName { get; set; }
[Column] public string ProductDescription { get; set; }
[Column] public double ProductCost { get; set; }
}
現在,斯科特的例子給了我們DataAnnotations
所以你可以做:
public class Product {
public int? ProductID { get; set; }
[Required(ErrorMessage="Must enter a product name!")]
public string ProductName { get; set; }
public string ProductDescription { get; set; }
[Range(1, 500, ErrorMessage="Too expensive!")]
public double ProductCost { get; set; }
}
後者的例子就是有一個可爲空ProductID
場因爲它將是數據庫中的自動增量字段。現在,這兩個例子都將包含在類中,並且可能具有相同的名稱。就我個人而言,我認爲我的主要模型不應該在其中包含這些註釋,因爲它們不應該是他們驗證數據的責任。那麼我是否應該將具有不同角色的類與單獨的名稱空間相關聯?