WFFM上的NullReferenceException提交

时间:2014-12-12 12:40:55

标签: web-forms-for-marketers

我正在尝试让Webforms for Marketers在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环境之外使用这些表单和操作没有遇到任何问题(Regular和Mvc Multi-site)。我正在使用Sitecore 7.5和WFFM 2.5。

我发现Save Action on webforms for marketers throws exception是重复的。重要的是,DataSource不需要表单ID中显示的路径,而是您可以通过原始值查看的实际表单ID。

1 个答案:

答案 0 :(得分:0)

此exeptions意味着某个对象设置为null,并且您的成员是asignig值。

如果你正确将viewmodel数据设置为某个域模型,并且你得到exepton的原因是你的域模型为null,那么你必须创建该模型的实例并给它一些值

DomainModel yourModel = new DomainModel();
//and than you must give to yourModel objects properties some values

在这种情况下,P.S调试是你最好的朋友