我正在尝试将Umbraco Forms (Umbraco v7.5.3) 保存到我自己的数据源中。我遵循了本指南:http ://www.nibble.be/?p=84
它似乎可以工作。我可以根据表格连接并生成表格。这很好。
我的设置
我使用连接字符串添加了一个新的表单数据源:
Provider=SQLNCLI11;Server=(localdb)\MSSQLLocalDB;Database=test;Integrated Security=SSPI;
我的表如下所示:
Id (PK) 属性配置为 Identity
我选择了一些我想在表单中使用的字段:
我选择它应该使用的数据类型:
我有点困惑为什么这个
Id
领域在那里。我没有选择它,我遵循的指南也没有这个字段:/?它为我生成了这个表格:
错误
但是当我尝试提交表单数据时,出现以下错误。这不好。
“/”应用程序中的服务器错误。
你调用的对象是空的。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[NullReferenceException:对象引用未设置为对象的实例。]
Umbraco.Forms.Core.Providers.DatasourceTypes.MsSql.InsertRecord(记录记录)+1750
Umbraco.Forms.Web.Services.RecordService.storeRecord(记录记录,表格表格)+1574
Umbraco.Forms.Web.Services.RecordService.Approve(记录记录,表格表格)+343 Umbraco.Forms.Web.Services.RecordService.Submit(记录记录,表格表格)+565
Umbraco.Forms.Web。 Controllers.UmbracoFormsController.SubmitForm(Form form, FormViewModel model, Dictionary 2 state) +205 Umbraco.Forms.Web.Controllers.UmbracoFormsController.HandleForm(FormViewModel model, Boolean captchaIsValid) +785 lambda_method(Closure, ControllerBase, Object[]) +1432 state, ControllerContext context) +2245
Umbraco.Forms.Web.Controllers.UmbracoFormsController.GoForward(Form form, FormViewModel model, Dictionary
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器, Object[] 参数) +14
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 参数) +27 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39 (IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +322 parameters) +157
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3d() +50 System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 系统.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass33.b__32(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass2b.b__1c() +26 System.Web.Mvc.Async.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult) +1001.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) + 13 System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +49 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36 System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult, 控制器控制器) +12 System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +49 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute (IAsyncResult asyncResult) +101.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +22
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +49 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28 系统.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9765121 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,布尔值和完成同步)+1551.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase
问题
- 为什么
Id
我没有选择该字段时将其添加到我的表单中? - 表格如何链接到我的表格?当我创建一个新表单时,我无法为其设置数据源,并且在生成的表单上找不到任何指向我的数据源的配置。
- 表单字段如何链接到表格列?是通过“显示名称”吗?
- 为什么我
Null Reference
在尝试提交表单时会出现上述情况?