Как использовать классы ModelBinder в контроллерах при использовании Umbraco Cloud
Первый вопрос... У меня есть проект Umbraco Cloud, который я только начал и впервые хочу использовать ModelBinder.
При использовании Umbraco Cloud у вас есть веб-сайт, а не веб-приложение.
У вас также есть.Core Project, где у вас есть папка контроллеров. Как получить доступ к сгенерированным строго типизированным классам в моих контроллерах в моем проекте.Core, когда классы создаются в проекте Website?
Второй вопрос... Кроме того, в прошлом, до того, как я начал использовать связыватель моделей, я всегда делал собственные модели представлений, выполнял логику в своем контроллере, а затем передавал эту модель пользовательских представлений своему представлению.
При использовании связывателя модели, если я могу получить классы строгих типов в своем контроллере, если я все еще буду создавать класс модели настраиваемого представления, теперь у меня есть объект строго типизированного типа, могу ли я просто передать это прямо в представление... I ' Я немного запутался по поводу правильного подхода, моя интуиция говорит мне, что я все еще должен использовать пользовательскую модель представления.
Заранее спасибо.
1 ответ
Хорошо, похоже, у меня все работает, но я не уверен на 100%, так ли это должно быть.
Шаг 1.
Режим привязки модели в веб-конфигурации передается в DLL со следующими настройками
<add key="Umbraco.ModelsBuilder.Enable" value="true" />
<add key="Umbraco.ModelsBuilder.ModelsMode" value="Dll" />
Это заставит Umbraco генерировать классы моделей на основе ваших типов документов. - (нажав кнопку Создать модель), которые расположены в:
Umbraco.Web.PublishedContentModels.dll в папке bin. вашего.Web проекта
Шаг 2
Из проекта.Core Добавьте ссылку на Umbraco.Web.PublishedContentModels.dll папку bin проекта.Web.
Теперь в ваших классах контроллеров в вашем проекте.core вы можете теперь использовать свою строго типизированную сгенерированную модель, например:
public ActionResult Index(HomePage model)
{
var myvalue = model.SEotitle; // Look strong typed
//more logic here
return View(model);
}
Хотелось бы узнать, так ли это, как другие используют связующие модели в облаке.