Я просто отправляю обычный запрос 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
Dim db = Новый FPicDataContext
Dim Updatable = (из c в db.Comments, где c.CommentID = UpCom.CommentID) .FirstOrDefault
Updatable.Comment = UpCom.Comment 'ЭТО ТАМ, ГДЕ ОБЪЕКТ ОБНОВЛЕН ОШИБКА! В основном, все значения в UPCOM (в качестве комментария) равны 0 или ничто.
db.SubmitChanges ()
Dim cm = Новая модель комментария с {.Comment = UpCom, .CommentDivId = "CommentDiv" & UpCom.CommentID.ToString}
Возврат PartialView («Комментарий», см)
Функция завершения