0
我在ASP.NET MVC 2中有一種情況,其中的字段基於視圖模型提供的信息,但其發佈的數據是由更纖細的編輯模型表示的數據的子集。我想向編輯模型添加簡單的數據註釋驗證,但由於視圖基於視圖模型,因此我不確定如何繼續。如何處理綁定編輯模型時的模型驗證!=查看模型
我在ASP.NET MVC 2中有一種情況,其中的字段基於視圖模型提供的信息,但其發佈的數據是由更纖細的編輯模型表示的數據的子集。我想向編輯模型添加簡單的數據註釋驗證,但由於視圖基於視圖模型,因此我不確定如何繼續。如何處理綁定編輯模型時的模型驗證!=查看模型
查看模型和控制器操作參數不必一致。
在你的情況下,這意味着你可能使用更豐富的模型類來生成你的視圖(甚至可能發佈超過需要的信息),但你的控制器動作只會使用來自發布數據的一些信息來填充更簡單的應用程序模型對象實例。沒問題。只要字段命名足以正確填充屬性。
你可能有這兩個類:
public class User
{
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
}
public class Person: User
{
public string Name { get; set; }
public string Address { get; set; }
}
,然後你的看法是使用Person
和你的控制器動作將有User
類型的參數。精細。它會工作。
這些類不需要彼此繼承。我在這個簡單的例子中就這樣做了,因爲這樣它們都共享公共屬性名稱。但是,只要發佈的字段名稱能夠建模綁定到控制器動作參數類屬性,它們就不必以任何形式或形式關聯。