【问题标题】:How to use ModelBinder classes in Controllers when using Umbraco Cloud使用 Umbraco Cloud 时如何在 Controller 中使用 ModelBinder 类
【发布时间】:2018-06-09 11:11:59
【问题描述】:

我有一个刚刚开始的 Umbraco 云项目,我第一次想使用 ModelBinder。

使用 Umbraco Cloud 时,您拥有的是网站而不是 Web 应用程序。

您还有一个 .Core 项目,其中有一个控制器文件夹。在 Website 项目中生成类时,如何在 .Core 项目的控制器中访问生成的强类型类?

另外,在我开始使用模型绑定器之前,我总是会制作自定义视图模型,在我的控制器中执行逻辑,然后将该自定义视图模型传递给我的视图。

当使用模型绑定器时,假设我可以在我的控制器中获得强类型类,如果我现在仍然制作自定义视图模型类,我有一个强类型对象,我可以直接将它传递给视图吗.. . 我对正确的方法有点困惑,我的直觉告诉我我仍然应该使用自定义视图模型。

【问题讨论】:

    标签: model-binding umbraco7 umbraco-cloud


    【解决方案1】:

    好的,看起来我已经成功了,但我不能 100% 确定这是否应该这样做。

    第 1 步。

    使用以下设置将 web config 中的模型绑定器模式发送到 DLL

    <add key="Umbraco.ModelsBuilder.Enable" value="true" />
    <add key="Umbraco.ModelsBuilder.ModelsMode" value="Dll" />
    

    这将导致 Umbraco 根据您的文档类型生成模型类。 - (通过单击生成模型按钮)位于:

    bin 文件夹中的 Umbraco.Web.PublishedContentModels.dll。 .Web 项目

    第 2 步

    从 .Core 项目中添加对 Umbraco.Web.PublishedContentModels.dll 的引用 .Web 项目的 bin 文件夹。

    现在,在 .core 项目的控制器类中,您现在可以像这样使用强类型生成模型:

    public ActionResult Index(HomePage model)
    {
    
            var myvalue = model.SEotitle;  // Look strong typed 
    
            //more logic here
            return View(model);
    }
    

    很想知道其他人是否这样在云中使用模型绑定器。

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      相关资源
      最近更新 更多