я просто отправляю нормальный запрос POST с помощью Ajax. BeginForm..., я произвел элементы формы с помощью.TextBoxFor и.HiddenFor и т.д.... все, как я должен... и когда он отправляется через ajax на мой метод действия, объект в методе действия (названный "Комментарием") не заполняется со значениями!
Я пропускаю что-то? вот соответствующая часть моего кода тем, кто хочет видеть его...
<% Using Ajax.BeginForm("UpdateComment", "Home",
New AjaxOptions With {.UpdateTargetId = Model.CommentDivId,
.HttpMethod = FormMethod.Post})%>
и....
<%= Html.HiddenFor(Function(x) x.Comment.CommentID)%>
<%= Html.TextAreaFor(Function(x) x.Comment.Comment, 8, 40,
New With {.style = "overflow: hidden;"})%>
<%= Html.ValidationMessageFor(Function(x) x.Comment.Comment) %>
вот Метод действия, который повышает ошибку... ошибка является исключением нулевой ссылки, когда я пытаюсь использовать объект:
Function UpdateComment(ByVal UpCom As Comment) As ActionResult
Тусклый дб = Новый FPicDataContext, Тусклый Обновляемый = (От c В дб. Комментарии, Где c. CommentID = UpCom. CommentID).FirstOrDefault Обновляемый. Комментарий = UpCom. Комментарий 'ЭТО - ТО, ГДЕ ОБЪЕКТ ЯВЛЯЕТСЯ ПУСТОЙ ОШИБКОЙ, ПОВЫШЕН! В ОСНОВНОМ ВСЕ ЗНАЧЕНИЯ В UPCOM (КОММЕНТАРИЙ AS) 0 ИЛИ НИЧТО. дб. SubmitChanges ()
Тусклый cm = Новый CommentModel С {.Comment = UpCom.CommentDivId = "CommentDiv" и UpCom. CommentID.ToString}
Возвратите PartialView ("Комментарий", cm)
Конечная функция
Эта проблема, которую я, в конце концов, решил, оказалось, что имя объекта, к которому привязана модель в аргументе действия, должно быть таким же, как имя объекта, которое вы использовали при выполнении TextBoxFor BeginForm и т.д.
другими словами, UpCom
вместо этого нужно было назвать Комментарий
:).
однако, предостережение, я нигде не слышал об этом требовании, ни в какой документации или в чем-то еще !! у кого-нибудь есть мысли по этому поводу?
Вот подход, который я использовал для обнаружения сбоев построения из MSDeploy при выполнении скрипта Nant для удаленного развертывания. Это не идентичный scenerio, но должен дать вам концепцию, чтобы идти с. В основном вы можете запустить это из оболочки, вам нужен язык сценариев, как powershell, чтобы захватить вывод и чем пост обрабатывает обычный текст, возвращающийся из msdeploy. Я разобрал эту проблему с командой MSDeploy и дал им знать, что с этим трудно справиться.
-121--3311357-Подождите, я думаю, что вижу, что вы пытаетесь сделать сейчас, и ответ - да абсолютный.
Есть несколько плагинов jQuery, которые вы можете захватить, что позволит размещать формы с помощью Ajax.
Я использовал этот, и он работает нормально. Подключаемый модуль формы jQuery Этот тоже может работать на тебя. . подчиниться