Что такое наилучшая практика в отношении моделей и представлений? - PullRequest
2 голосов
/ 15 декабря 2011

Я разрабатывал приложение, которое использует модели, основанные на одном USP / dbml, и использует ViewBags для заполнения списков поиска для ввода данных и редактирования представлений. Это было нормально, пока я не начал реализовывать бизнес-логику. Dropdownlists, потому что они сделаны с ViewBag.llkup, не доступны в функциях Script, если явно не переданы в функцию. Я мог бы создать одну модель, в которой было бы несколько USP. Мне было интересно, что считается лучшей практикой в ​​этом вопросе. Спасибо Брюс У меня есть следующий код в контроллере:

    using (var dc = new usp_TM_Select_ShortNameDataContext())
    {
        String[] s = this.User.Identity.Name.Split('\\');
        string[] s2 = s[1].Split('.');
        string a = s2[0] + '.' + s2[1];
        ViewBag.Message = a.ToString();
        ViewBag.DetailsList = new SelectList((System.Collections.IEnumerable)dc.usp_TM_Select_ShortName().ToList(), "short_title", "short_title");
        var poc = new usp_ARD_Select_POCDataContext();
        return View(poc.usp_ARD_Select_POC().Single());
    }

Оба являются строго типизированными представлениями, но как мне вернуть оба представления, если они находятся в одной модели, чтобы их можно было использовать (получить к ним доступ)? У меня есть более сложные примеры, когда у меня возвращена одна запись с несколькими поисками. В настоящее время я делаю это с ViewBag и хотел бы использовать ViewModels. Спасибо Bruce

Ответы [ 2 ]

0 голосов
/ 15 декабря 2011

Я бы выбрал строгое представление вида ViewModel.

Примеры можно посмотреть здесь:

http://www.bidn.com/blogs/mbrown/development/2139/mvc-3-view-models

Когда я использую View Models, Partials, Templates и обрабатываю дочерние привязки с MVC 3

0 голосов
/ 15 декабря 2011

В 99% случаев рекомендуется создавать строго типизированные представления на основе ваших моделей (или ViewModel, если это применимо). Таким образом, вы можете адаптировать свои представления для доменных моделей.

...