1

関数内のリスト (xxx の) に加えられた変更を保存しようとしています。

System.InvalidOperationException was unhandled by user code
Message=The model of type 'xxxxxxx.attendance' could not be updated.
Source=System.Web.Mvc
StackTrace:
   at System.Web.Mvc.Controller.UpdateModel[TModel](TModel model, String prefix, String[] includeProperties, String[] excludeProperties, IValueProvider valueProvider)
   at System.Web.Mvc.Controller.UpdateModel[TModel](TModel model)
   at xxxxxxx.xxxxxxxx.AdminController.ClassAttendance(List`1 attendance) in c:\users\bryan\documents\visual studio 2010\Projects\xxxx\xxxxxxx\Controllers\AdminController.vb:line 1207
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   InnerException: 

私の機能は次のとおりです。

    <AcceptVerbs(HttpVerbs.Post)>
    Function ClassAttendance(ByVal attendance As List(Of attendance)) As ActionResult
        For Each attendee In attendance
            Dim item = attendee
            Dim e = db.attendances.Single(Function(t) t.id = item.id)
            Dim _Class_Ref As String = item.course_ref
            Dim _Comments As String = item.Comments
            Dim _Course_Status As String = item.Completed_Class
            If Not String.IsNullOrEmpty(_Comments) Then
                e.Comments = _Comments
            End If

            e.Completed_Class = _Course_Status
            UpdateModel(e)
            db.SaveChanges()
        Next


        Return RedirectToAction("Index")
    End Function

この関数はどこで間違っていますか???

4

1 に答える 1

1

を切り落としましたInnerException。これにはおそらく理由があります。:-)

ほとんどの場合、検証または何かに失敗しています。を使用して、TryUpdateModelこれを適切に処理できます。

于 2011-10-15T11:28:58.033 に答える