2013-11-18 4 views
0

Мне нужно, чтобы мои взгляды меняли динамическую проверку модели в моем приложении. НапримерChange ViewModel for a View

Entity Framework Модель

public class Person 
{ 
    [Key] 
    public int ID { get; set; } 

    public string FirstName { get; set; } 

    public string LastName { get; set; } 
} 

ViewModelFirstName

public class ViewModelName 
{ 
    public int ID { get; set; } 

    [Required] 
    public string FirstName { get; set; } 

    public string LastName { get; set; } 
} 

ViewModelLastName

public class ViewModelLastName 
{ 
    public int ID { get; set; } 

    public string FirstName { get; set; } 

    [Required] 
    public string LastName { get; set; } 
} 

Первоначально мой вид будет использовать один из этих ViewModel. Есть ли способ изменить его динамически?

+0

Что вы пытаетесь сделать здесь? –

+1

Это очень необычно. Вы уверены, что не хотите, чтобы один «ViewModel» выполнял проверку на основе некоторых проверок условий? Посмотрите на реализацию интерфейса «IValidatableObject» и создайте метод «Validate», который может служить вашей цели более традиционным способом. –

+0

Мне нужно разрешить пользователю изменять проверку модели в моем приложении. Единственное, что мне пришло в голову, это переключение режима просмотра. – Mirko

ответ

1

Вы можете определить интерфейс

public interface IModelName 
{ 
    int ID { get; set; } 
    string FirstName { get; set; } 
    string LastName { get; set; } 
} 

реализовать его в своих моделях и использовать этот интерфейс в качестве модели для зрения

+0

Я могу изменить проверку модели с помощью этого метода с Ioc Container, правильно? – Mirko

+0

Или просто реализовать этот интерфейс в разных классах и передать необходимые экземпляры этих классов в ваше представление. –