Как использовать классы 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);
}

Хотелось бы узнать, так ли это, как другие используют связующие модели в облаке.

Другие вопросы по тегам