Как использовать два разных EditorTemplates для базовой ViewModel и производной ViewModel в одном представлении? - PullRequest
0 голосов
/ 11 октября 2011

У меня много ViewModel, которые происходят от базовой ViewModel.

Можно ли отобразить шаблон EditorTemplate для части производного ViewModel, которая исходит из базовой ViewModel, и другой шаблон для производной части, все в одном представлении? Если да, то как это делается?

Базовая модель представления:

public class ShowQuestionViewModel
    {
        public int Question_ID { get; set; }
        public String Question_Wording { get; set; }
        public String Question_Type { get; set; }
        public String Question_Number { get; set; }
        public Boolean Visible { get; set; }
        public Boolean IsAnswered { get; set; }

    }

Производная модель представления:

public class ShowMatrixQuestionViewModel : ShowQuestionViewModel
    {
        public Dictionary<MatrixRows, List<MatrixColumns>> columnrow;
        public List<MatrixColumns> columns;
        public List<MatrixRows> rows;

        public ShowMatrixQuestionViewModel()
        {
            columns = new List<MatrixColumns>();
            rows = new List<MatrixRows>();
            columnrow = new Dictionary<MatrixRows, List<MatrixColumns>>();
        }
    }

    public class MatrixColumns
    {
        public int Column_ID { get; set; }
        public int Column_Number { get; set; }
        public String Column_Description { get; set; }
        public Boolean IsAnswer { get; set; }
    }

    public class MatrixRows
    {
        public int Row_Id { get; set; }
        public String Row_Number { get; set; }
        public String Row_Description { get; set; }
    }

Итак, когда я использую EditorFor (x => ShowMatrixQuestionViewModel), я хочу использовать специальный редактор для свойств, которые приходят из ShowQuestionViewModel.

1 Ответ

0 голосов
/ 11 октября 2011

Вы можете создать отдельный шаблон редактора:

@model ShowMatrixQuestionViewModel
@Html.EditorForModel()

, а затем определите пользовательский шаблон редактора ~/Views/Shared/EditorTemplates/ShowMatrixQuestionViewModel.cshtml, где вы можете настроить все свойства, включая свойства для базового типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...