【发布时间】:2014-12-12 12:40:54
【问题描述】:
我正在尝试让营销人员的 Webforms 在 Sitecore Mvc 网站中工作。 表单正常呈现,但在提交表单时会发生 NRE。
[NullReferenceException: Object reference not set to an instance of an object.]
Sitecore.Forms.Mvc.Controllers.ModelBinders.FormModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +536
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +436
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +152
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +641
新创建的表单和未修改的示例表单都会出现此错误。我已经使用默认的“告诉朋友”和“发送电子邮件”操作进行了测试。我在 Mvc 环境(常规和 Mvc 多站点)之外使用这些表单和操作没有遇到任何问题。我正在使用 Sitecore 7.5 和 WFFM 2.5。
我发现 Save Action on webforms for marketers throws exception 是重复的。重点强调的是,DataSource 不需要表单 ID 中显示的路径,而是您可以通过原始值查看的实际表单 ID。
【问题讨论】:
-
最初stackoverflow.com/questions/26094198/… 建议的解决方案似乎对我不起作用。显然我误解了解决方案。 DataSource 需要实际 ID 而不是路径(即使用原始值查看 ID)。