我正在尝试让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。
答案 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调试是你最好的朋友