MVC使用Ajax和GET发布表单数据
我有一个MVC项目在我的表单中,它发布到CommentController中创建的方法中。我正在使用httppost。代码如下所示: 包含表单的视图MVC使用Ajax和GET发布表单数据,ajax,asp.net-mvc,forms,razor,get,Ajax,Asp.net Mvc,Forms,Razor,Get,我有一个MVC项目在我的表单中,它发布到CommentController中创建的方法中。我正在使用httppost。代码如下所示: 包含表单的视图 @model myproject.Models.Comment @using (Ajax.BeginForm("Create", new AjaxOptions { UpdateTargetId = "CommentContainer" })) { @Html.ValidationSummary(true) @Html.Labe
@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>
现在所有这些都很好,但我想要的是使用GET not POST来完成这一切。我仍然希望使用Ajax.BeginForm和2个javascript库。我不想编写自己的jQuery代码。如何将上述表单数据发布到CommentController内的GET方法中 我不建议使用GET发送表单数据。但是,如果确实要这样做,只需在AjaxOptions.HttpMethod属性中指定Get
@using (Ajax.BeginForm("Create", new AjaxOptions { HttpMethod = "Get", UpdateTargetId = "CommentContainer" }))
{
... your form elements ...
}
同时将您的操作方法从接受[HttpPost]更改为[HttpGet]。为什么要使用GET发布数据?以避免用户单击浏览器上的“后退”按钮时出现“后退”警告。您好,HTX9!谢谢你的建议,但是这不起作用。这就像点击事件永远不会被触发一样。等等!我尝试了一些更明确的包括控制器的名称CommentController这是不包括在后版本,并知道它的工作!谢谢为读者服务;上述代码中唯一的变化是:1@使用Ajax.BeginFormCreate、Comment、new AjaxOptions{HttpMethod=Get,在CommentController中,我刚刚在Create方法上方设置了[HttpGet]。
@using (Ajax.BeginForm("Create", new AjaxOptions { HttpMethod = "Get", UpdateTargetId = "CommentContainer" }))
{
... your form elements ...
}