问题标签 [episerver-7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
536 浏览

episerver - 在 EPiServer 中以编程方式创建属性

这可能是一个非常简单的问题,但我对 EPiServer 很陌生,所以请帮忙。

我在 EPiServer Relate 演示站点上工作。我想以编程方式在 Episerver.Common.Security.IUser 类型上创建一个新属性。我使用 CMS 编辑模式管理选项创建了属性。但我想知道如何在代码中做到这一点。

0 投票
1 回答
562 浏览

c# - Episerver 7 从 6 升级,将页面类型移动到代码

我有一个项目刚刚从 EpiServer 6 升级到 7。项目运行良好,但现在我想将页面类型移动到派生自 PageData 的类中。我将如何继续这样做?我们没有 PageTypeBuilder 定义的类型,全部来自数据库。我想我们从 admin gui 中的页面类型的 GUID 开始,并将其设置在 PageData 类的 ContentType 属性中。

0 投票
2 回答
722 浏览

asp.net-mvc-4 - Glimpse 使用 EPiServer 7.1 MVC 4 引发 NullReferenceException

我有一个建立在 EPiServer 7.1 之上的 MVC 4 应用程序。EPiServer 使用 StructureMap 作为它的 IoC 框架,这可能与我的问题有关。无论如何,这就是我所做的:

  1. 通过“Manage Nuget Packages...”,将“Glimpse Mvc4”添加到我的项目中
  2. 验证 web.config 已按预期更新
  3. 重新启动我的应用程序

添加 Glimpse 后,所有请求都失败并返回 NullReferenceException,例如,如下所示:

样本错误

我尝试通过在 web.config 的 Glimpse 部分中的“logging level="Trace"' 中进行评论来启用 Glimpse 日志记录,但在 Windows 事件日志或 log4net 日志文件中都找不到任何日志记录。

有关如何进一步排除故障的想法或解决方案的提示?

0 投票
1 回答
410 浏览

c# - EPI-Server 7 PropertyFor 没有给我任何智能感知

我正在学习基于 MVC 的 EpiServer 7,现在我正在尝试让 PropertyFor 按我的意愿工作。我有一个名为 title 的属性,如果我这样写(下面的代码),它会正确呈现,但我没有得到内部 Linq 表达式的任何智能感知(x)。您会看到我正在使用哪些命名空间,并且我还在 webconfig 中添加了 System.Linq 以获取视图。我需要做什么才能获得智能感知?

笔记。合金 MVC 演示站点对我来说也有这个问题,所以在那里找不到任何好的解决方案。我无法在剃须刀页面中添加 System.Linq,页面找不到引用。

谢谢!

0 投票
1 回答
1370 浏览

block - 可选块中的 EPiserver 7 必需属性

我制作了一个带有 ImageUrl 属性和 Description 属性的 ImageBlock。ImageUrl 是必需的。

我的 ArticlePage 将此 ImageBlock 用于其 Image 属性,但它不需要在文章中包含图像。但是,如果编辑器选择有图像,则 url 应该是必需的。

但是,当我创建 ArticlePage 的新实例时,系统会提示我输入 EPiServer 声称需要的 ImageUrl。我错过了什么吗?

0 投票
1 回答
193 浏览

workflow-foundation - EpiServer7 Windows 工作流程是否已弃用?

我希望为 EpiServer 7 开发一个自定义工作流程,但是在查看文档资源时,它指出“此功能仅在 EPiServer 7 的旧模式中受支持”。我找不到 EpiServer 迁移目标的原因或方向。是否有任何关于为 EpiServer 7 定制发布工作流程的新“更推荐”方法的资源?

谢谢,

0 投票
2 回答
499 浏览

c# - EPiServer7 PageTypes 没有得到更新

我有一个全新的 EPi7 mvc4(Razor) 解决方案。当我尝试添加一个简单的页面类型时,数据库没有得到更新。并且没有可用的页面类型

页面类型如下所示:

是否有像以前版本一样的某种开关来关闭同步?我知道这不再是 PageTypeBulder 但仍然如此。

0 投票
1 回答
584 浏览

c# - EPiServer 7,在发布页面时将新属性值与以前的值进行比较?

我正在使用初始化模块订阅 DataFactory 事件 PublishingPage:

参数 PageEventArgs 包含正在发布的新页面 (e.Page) 有没有办法获取此页面的先前版本并将其属性值与正在发布的新版本进行比较?

0 投票
2 回答
375 浏览

asp.net-mvc-4 - http错误404页面需要很长时间才能加载 - EpiServer 7

我有一个 EpiServer 7 站点,我正在尝试将自定义 404 页面连接到该站点。

我的解决方案在本地运行时工作正常。当我部署到登台服务器(站点未上线)时,显示我的 404 页面需要 2-3 分钟。如果我登录服务器并运行相同的 URL,我会立即显示自定义 404 页面吗?

我在 web.config 中的条目是(内部):

有任何想法吗?

0 投票
1 回答
1478 浏览

episerver - EPiServer 7 - 基于字典的自定义属性类型

我一直在使用 EPiServer 7 MVC 并浏览了 Joel Abrahamsson 的Alloy MVC Template。在查看了自定义的预览控制器后,它以 4 种不同的“大小”预览了一个可以渲染的块,我想到了创建一个特定于某个块“大小”的属性,以便标题文本用于例如,可以根据块呈现的“大小”显示不同的内容。本质上,这将是一个字典,其中键是“大小”,值将包含字符串内容。

有没有人制作过这样的 Dictionary 属性?

我尝试了几种方法,但都被每一种都卡住了:

  1. 自定义属性类型/自定义值类型。按照这个关于创建自定义属性类型的示例(http://joelabrahamsson.com/creating-a-custom-episerver-property-with-a-custom-class-as-value/)我创建了一个自定义属性类型(PropertyDicitionaryString ) 和自定义值类型 (DictionaryString)。我可以通过实现一个显示模板来很好地显示该值,该模板接收具有大小的标签,然后将 Model.MyDictionaryString[ViewData["Tag"] 呈现为字符串]。但是,我还没有弄清楚如何使内联编辑工作,因为不支持对 @Html.EditAttributes(x => x.MyDictionaryString[ViewData["Tag"] as string]) 的调用;该方法不支持 lambda 表达式中的索引或方法调用)。 有人知道如何创建这样的内联编辑器吗?

  2. 自定义属性类型/原始类型。我对上面的自定义属性类型进行了重新设计,我们称之为 (PropertyDictionaryStringAsPrimitive),以便 Value 属性返回一个字符串。这允许我将我的模型定义为:

    [BackingType(typeof(PropertyDictionaryStringAsPrimitive)] public virtual string SizeSpecificString{get;set;}

    当调用它的 Value 方法以确保它返回正确的值时,我必须以某种方式让 PropertyDictionaryStringAsPrimitive 接收当前渲染上下文中的“大小”。我可以通过实现自定义 ContentDataInterceptor 来做到这一点,它会查找对 PropertyDictionaryStringAsPrimitive.Value 的调用并适当地设置 Key。所以现在显示值工作正常,但内联编辑也不太工作。当进行 ajax 保存调用时,我需要添加一些状态信息,以便我可以告诉 PropertyDictionaryStringAsPrimitive 使用哪个键来保存更改。 任何人都知道如何在内联编辑ajax保存请求期间传递额外的状态信息?

  3. 我看了一下[CultureSpecific]属性。如果我可以使用与 CultureSpecific 类似的机制来保留值的“大小”特定实例,那将会很有趣。在反编译器中花费了一些时间试图找出 hwo CultureSpecific 的魔力后,我跟踪了 CotnentDataAttributeScanningAssigner.AssignValuesToPropertyDefinition 的属性,将 PropertyDefinitionModel.CultureSpecific 标志设置为 true,PropertyDefinitionSynchronizer.CreatePropertyDefintion 使用该标志将 PropertyDefintiionModel.CultureSpecificValue 设置为枚举。但我找不到此设置如何影响加载哪个值。 任何人都知道如何使用属性级别属性来动态更改值?