InvalidOperationException не был обработан кодом пользователя - PullRequest
1 голос
/ 15 октября 2011

Я пытаюсь сохранить изменения, внесенные в список (из xxx) в функции ... Я что-то перебираю, потому что в UpdateModel (e) это выглядит так:

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

Где эта функция работает неправильно ???

1 Ответ

1 голос
/ 15 октября 2011

Вы отрубили InnerException, в чем, вероятно, есть причина! : -)

Скорее всего, это не проверка или что-то в этом роде. Вы можете использовать TryUpdateModel, чтобы справиться с этим изящно.

...