Вопрос по asp.net-mvc, asp.net, updatemodel, c# – ASP.NET MVC 2 проблема с UpdateModel

13

Я пытаюсь использовать updatemodel (myItem, formcollection) с asp.net mvc 2, но это не удается с трассировкой стека ниже.

   at System.Web.Mvc.FormCollection.GetValue(String name)
   at System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
   at System.Web.Mvc.Controller.TryUpdateModel[TModel](TModel model, String prefix, String[] includeProperties, String[] excludeProperties, IValueProvider valueProvider)
   at System.Web.Mvc.Controller.TryUpdateModel[TModel](TModel model, IValueProvider valueProvider)
   at Stormbreaker.Dashboard.Controllers.DashboardController`1.Update(FormCollection collection) in D:\Projects\SVN\Stormbreaker\trunk\Stormbreaker.Dashboard\Controllers\DashboardController.cs:line 23
   at lambda_method(ExecutionScope , ControllerBase , Object[] )
   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__DisplayClassd.b__a()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)

Мое действие выглядит так:

    [AcceptVerbs(HttpVerbs.Post)]
    [ValidateInput(false)]
    public ActionResult Update(FormCollection collection) {
        UpdateModel(CurrentItem, collection);
        CurrentItem = (T)_repository.Update(CurrentItem);
        return RedirectToAction("edit", new { pagePath = CurrentItem.UrlSegment });
    }

... и моя форма выглядит так:



    
        
        
                

Какое исключение выбрасывается? ЯРД? alexn
Пожалуйста, опубликуйте свою модель. John Farrell
Вот исключение: значение не может быть нулевым или пустым. Имя параметра: имя Описание: Произошло необработанное исключение во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде. Сведения об исключении: System.ArgumentException: значение не может быть нулевым или пустым. Имя параметра: имя Marcus

Ваш Ответ

2   ответа
19

источник MVC, вы можете удалить проверку String.IsNullOrEmpty () из FormCollection.GetValue (), перекомпилировать и повторно развернуть. Класс FormCollection находится вЦСИ \ SystemWebMvc \ Mvc \ FormCollection.cs, Команда знает об этом, и запланировано исправление для следующего предварительного просмотра.

Мне нужно время, чтобы найти этот пост, но я рад, что знаю. J.W.
Хорошо, спасибо за хедз-ап! Marcus
1

ем надеяться, что они скоро это исправят.

Похожие вопросы