我在使用XForms在EPiServer 7中的块中工作时遇到了一些问题。它是webforms而不是MVC。
XForms在我将它们放在普通页面上时起作用,但是当我在块上使用它时,我得到一个null异常。见下文。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: virtualPath
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentNullException: Value cannot be null.
Parameter name: virtualPath]
System.Web.VirtualPath.Create(String virtualPath, VirtualPathOptions options) +11610798
EPiServer.Web.TemplateControlLoader.LoadControl(HttpContextBase httpContext, Type renderType, Object renderData, TemplateControl templateControl, String tag, Action`2 bindDataAction) +214
EPiServer.Web.TemplateControlLoader.LoadControl(HttpContextBase httpContext, IContentData contentData, TemplateControl templateControl, String tag) +223
EPiServer.Cms.Shell.MoveToPlatform.PersonalizationContentControlResolver.ResolveContentControls(ContentArea contentArea, Control parentControl, String tag, String itemCssClass, String itemTagName, Boolean enableEditFeatures) +870
EPiServer.Web.PropertyControls.PropertyContentAreaControl.GetContentRenderers(Boolean enableEditFeatures) +598
EPiServer.Web.PropertyControls.PropertyContentAreaControl.CreateContentAreaControls(Boolean enableEditFeatures) +130
EPiServer.Web.PropertyControls.PropertyDataControl.CreateChildControls() +103
System.Web.UI.Control.EnsureChildControls() +182
EPiServer.Web.WebControls.Property.CreateChildControls() +600
System.Web.UI.Control.EnsureChildControls() +182
System.Web.UI.Control.PreRenderRecursiveInternal() +60
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4201
我试图与Alloy模板进行比较,但发现没有任何区别可以像这样打破它。
我也尝试过调试,但它不会停留在可以提供任何信息的任何断点处。
任何人都知道问题可能是什么?感谢任何帮助。
答案 0 :(得分:1)
我找到了解决这个问题的方法,但没有找到问题的原因。我的猜测是episerver缓存渲染器并尝试访问不存在的旧版本。
解决方案是该块的渲染器似乎在某种程度上是腐败的。我做的是删除作为渲染器的webcontrol,进入编辑模式并获取错误“找不到渲染器的块然后再创建它。
因此问题似乎与xforms模块无关。