solo estoy enviando una solicitud POST normal usando Ajax.BeginForm ... obtengo los elementos del formulario usando .TextBoxFor y .HiddenFor etc ... todo como debería ... y cuando se publica a través de ajax en mi acción método, el objeto en el método de acción (llamado "Comentario") no se llena con los valores!¿El enlace modelo MVC 2.0 funciona con solicitudes Ajax?
¿Echo de falta algo? aquí está la parte correspondiente del código para los que quieren verlo ...
<% Using Ajax.BeginForm("UpdateComment", "Home",
New AjaxOptions With {.UpdateTargetId = Model.CommentDivId,
.HttpMethod = FormMethod.Post})%>
y ....
<%= 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) %>
aquí es el método de acción, lo que eleva el error ... el error es una excepción de referencia nula cuando intento para utilizar el objeto:
Function UpdateComment(ByVal UpCom As Comment) As ActionResult
Dim db = New FPicDataContext Dim actualizable = (de c En db.Comments Dónde c.CommentID = UpCom.CommentID) .FirstOrDef ault Updatable.Comment = UpCom.Comment 'ESTO ES DONDE EL OBJETO ES NULO EL ERROR SE LEVANTA! BÁSICAMENTE, TODOS LOS VALORES EN UPCOM (COMO COMENTARIO) SON 0 O NADA. db.SubmitChanges()
Dim cm = Nueva CommentModel Con {.comment = UpCom, .CommentDivId = "CommentDiv" & UpCom.CommentID.ToString}
Volver PartialView ("Comentario", cm)
End Function
¡Hubiera esperado que esto funcionara también! ??? – jwwishart
Las razones dan el código de método de acción POST y el resultado HTML de su vista. – LukLed
hola, he actualizado la publicación original con los detalles solicitados :) –