问题标签 [episerver-8]

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 投票
1 回答
1424 浏览

episerver - 从 ContentArea 中删除块

我想从我的页面中删除带有损坏链接的块。Fx 我们使用 EPi Server Commerce,有时会从 Commerce 中的 PIM 中删除产品,我需要删除引用该产品的所有块。

但有些东西是“古怪的”......

在我尝试删除它们之后,某些块有时仍然存在。如果我在 ContentArea 中放置一个新块,它似乎会删除旧值并且 ContentArea 再次正常。就像 EPi 服务器没有将我的更改视为更改并且没有发布任何内容。

0 投票
2 回答
895 浏览

logging - 带有 Web HttpException 0x80004005 的 Episerver 日志溢出

我在连接到同一个数据库的几台服务器上使用 EpiServer 8。

在所有这些上,我每 1-2 秒都会收到以下日志消息,这会导致日志文件很大且难以导航:

2015-12-23 08:19:28,728 [62] 错误 EPiServer.Global: 1.2.5 ASP.NET System.Web.HttpException (0x80004005) 中未处理的异常:文件“/link/43f936c99b234ea397b261c538ad07c9.aspx”不存在。在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean允许CrossApp,布尔allowBuildInPrecompile,布尔throwIfNotFound,布尔ensureIsUpToDate)在System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext上下文,布尔allowCrossApp,

我在网上搜索过,发现有些人提到了这个问题(即使有确切的 GUID),但建议的解决方案要么无关紧要,要么没有帮助。

页面“43f936c...”的 GUID 是对我的根页面的引用,ID=1。根页面不可访问(或至少不可访问)

我认为这可能是监控问题,但我在完全不受监控的测试环境中收到此错误。(但使用相同的数据库)

0 投票
1 回答
2995 浏览

c# - 获取特定页面类型的所有子项

我在 EPI CMS 中有以下树:

我希望在编辑 Foo1 时拥有所有 SubFoo 的复选框。

我现在拥有的是这样的:

这工作正常,但我不想使用 ID=2,我希望 GetSubFoos “向上”(到 Lobby)然后“向下”到第一个 ContainerOfSubFoo 并获取 SubFooType 的所有子项

GetSubFoo 方法在 Foo 类上,如果需要,我可以提供 SelectionFactory 的代码。

我现在看到的另一个问题是复选框“V”不保存:/(字符串以逗号分隔的值保存,但复选框均未选中

这是通过为 ID 添加 .ToString() 来解决的

0 投票
0 回答
292 浏览

nuget - Nuget 包管理器想要将 EPiServer 8.2.0 升级到 7.15.0

我最近开始了一个现有项目,当尝试从https://nuget.episerver.com在包管理器控制台中安装包时,会发生以下情况(除了所示的包之外,其他包也会出现同样的问题。)

成功安装和安装失败之间有一个小中断。

EPiServer 在某些时候已经从 7.15.0 升级到 8.2.0。

这可能是什么原因?

0 投票
1 回答
796 浏览

asp.net-mvc-4 - 尝试访问 EPiServer 中的父 ContentArea 时,ViewContext.ParentActionViewContext 为空

我正在尝试使用此处显示的方法来允许我在 EPiServer 中的块在父 ContentArea 中查询它们的索引。我已经在另一个项目(项目 A)中这样做了,现在正尝试在一个新项目(项目 B)中再次这样做。但由于某些原因在新项目中,ViewContext.ParentActionViewContext为空。我开始比较两者之间的差异,我注意到在项目 A 中IsChildAction是真的,并且RouteData.DataTokens只包含一个键 = 'ParentActionDataContext',但在项目 B 中,IsChildAction是假的并且RouteData.DataTokens包含主请求的所有键。好的,鉴于该ParentActionViewContext属性的描述是:

包含父操作方法的视图上下文信息的对象。

如果没有子操作,它在项目 B 中将为空是有道理的。问题是,我不知道为什么项目 A 将 ContentArea 渲染为子操作,但项目 B 没有。比较调用堆栈,我可以看到它在 EPiServer 程序集中的两个不同方向上分支(下面每个堆栈的顶部 2 帧):

项目A

项目 B

但我以同样的方式称呼两者:

项目一:

项目B:

知道发生了什么或如何使其工作,以便我可以在我的 Html 帮助程序中访问父 ContentArea 吗?

0 投票
2 回答
2108 浏览

asp.net-ajax - 如何在没有页面类型引用的块 ajax 调用中获取 currentBlock。[表服务器 9]

在块 ajax 调用中获取 currentBlock 的最佳方法是什么?

(当 Block 或 BlockController 不知道 Page 时,我不知道解决方案)

我想让块可用于任何页面。

谢谢。

0 投票
1 回答
1641 浏览

asp.net-mvc - 如何在 EpiServer CMS 的内容区域中呈现页面列表项(如新闻项)

我想在内容区域中显示项目列表(我正在使用页面列表块来显示页面列表。)当我将页面类型拖放到内容区域中时,我收到一条错误消息“Castle.Proxies。列表块代理”。

下面是我的代码....

主页块页面.cs

查看模型类-ListingBlockModel.cs

ListingBlock的Index.cshtml

为了在内容区域中显示或呈现项目列表(页面列表),我为页面创建了部分模板。

PagePartialController.cs

PagePartial.cshtml

当我在编辑模式下将页面拖放到内容区域时,出现“Castle.Proxies.ListingBlockProxy”错误

0 投票
0 回答
451 浏览

episerver - EpiServer - 根据每个块的属性加载块列表

如果我想根据我知道的类型加载块列表,我可以执行以下操作:

但是,如果我想根据每个块上的类型和属性加载列表,称为标记等于“A”,同时让列表按每个块上的属性日期排序,我该怎么做?

0 投票
0 回答
334 浏览

asp.net - MVC Html.BeginForm - Move /en/ to start of the url

I'm trying to create a form in episerver, it's just an ASP.NET MVC site. The piece of code I'm using is this

When the page is rendered, I get:

however, I need the "en" language component to be put at the start of the URL like so:

The reason it is needed there is because the site uses multiple languages and this is how it checks to see which version of the page to serve.

Anyone have any ideas on how to move the "/en/" component to the front of the url using the Html.BeginForm() method?

0 投票
0 回答
270 浏览

c# - 更改 SelectMany 分隔符

我通过SelectMany以下方式使用该属性:

具有以下内容SelectionFactory

这就是我检索值的方式:

所有这些ArticleTagPage都位于ArticleTagsContainerPage. 目的是管理每篇文章的标签集合,有点像带有标签的 SO 问题。
我的问题是,一旦属性被填充,它就会包含一个逗号 ( ,) 分隔的字符串,如果数据包含逗号,这可能会导致问题。
是否可以将分隔符更改为 a;或 a之类的东西|,或者只返回所选值的集合?