我在其中有一个MVC项目,我发布了一个注释到CommentController中的方法(Create)。我正在使用httppost。代码如下: 包含表单的视图。
@model myproject.Models.Comment
@using (Ajax.BeginForm("Create",
new AjaxOptions { UpdateTargetId = "CommentContainer" }))
{
@Html.ValidationSummary(true)
@Html.LabelFor(model => model.UserComment)
@Html.EditorFor(model => model.UserComment)
@Html.ValidationMessageFor(model => model.UserComment)
<br />
<input type="submit" value="Create comment" />
}
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js"></script>
CommentController包含Create方法
[HttpPost]
public PartialViewResult Create(Comment comment)
{
return PartialView("_RandomComment", comment);
}
现在这一切都运行正常,但我想要的是使用GET而不是POST来完成所有操作。我仍然想使用Ajax.BeginForm和2个javascript库。我不想编写自己的jQuery代码。如何将上面的表单数据发布到我的CommentController中的GET方法。
答案 0 :(得分:0)
我不建议使用GET
发送表单数据。但是,如果您真的想这样做,只需在"Get"
属性中指定AjaxOptions.HttpMethod
。
@using (Ajax.BeginForm("Create", new AjaxOptions { HttpMethod = "Get", UpdateTargetId = "CommentContainer" }))
{
... your form elements ...
}
同时将您的操作方法从接受[HttpPost]
更改为[HttpGet]
。