【发布时间】:2010-02-23 02:22:03
【问题描述】:
我只是使用 Ajax.BeginForm 发送一个普通的 POST 请求...我使用 .TextBoxFor 和 .HiddenFor 等输出表单元素...我应该这样做...当它通过 ajax 发布到我的action 方法,action 方法中的对象(名为“Comment”)未填充值!
我错过了什么吗?这是我的代码的相关部分给那些想看的人...
<% 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 = (From c In db.Comments Where c.CommentID = UpCom.CommentID).FirstOrDefault Updatable.Comment = UpCom.Comment ' 这是对象为 NULL 的地方引发错误!基本上,UPCOM(作为评论)中的所有值都是 0 或什么都不是。 db.SubmitChanges()
Dim cm = 带有 {.Comment = UpCom, .CommentDivId = "CommentDiv" & UpCom.CommentID.ToString} 的新 CommentModel
返回 PartialView("Comment", cm)
结束函数
【问题讨论】:
-
我希望这也能工作! ???
-
请提供使用 POST 操作方法代码和您的视图的 HTML 输出。
-
你好,我已经用请求的详细信息更新了原始帖子 :)
-
我现在正在使用 Request("comment.CommentID") 和 Request("comment.Comment") 来获取评论和 commentId,但上帝是太棒了,我真的很想按照它应该做的方式去做,以优雅而优雅的方式!有人有什么想法吗?
标签: c# .net asp.net asp.net-mvc vb.net