Asp.net MVC 3 Ajax.beginform提交-发送什么

标签 asp.net ajax asp.net-mvc forms asp.net-mvc-3

我有一个部分 View ,其中包含使用 ajax.begin 表单创建的表单

 @using (Ajax.BeginForm("Save", "saveStuffHere", null, new AjaxOptions 
   {HttpMethod = "Post", InsertionMode = InsertionMode.InsertAfter,
   OnSuccess = "handleSuccess", OnFailure = "handleError"}))
 {

在我的 Controller saveStuffHere中,我有一个方法Save

public class saveStuffHereController : Controller
 {
     ....other things...
    /// <summary>
    /// Save the information
    /// </summary>       
    /// <returns></returns>
    [HttpPost]
    public JsonResult Save(I do not know what is passed here)
    {
       .... db code goes here
    }

我使用表单的 submit() 方法保存表单。如果我在 Controller 中调用的方法错误,请纠正我。但我的问题是到底送回了什么?或者换句话说,我的 Save 方法应该期待什么? 基本上我不知道什么被传递到我的 Save 方法中。有没有办法让我指定我要传回的内容?我了解并知道如何使用 jquery ajax,但在继续使用 jquery ajax 之前我想尝试一下这种方式。

最佳答案

what exactly is being sent back

表单中的任何input 标记。因此,如果在最简单的情况下,您有这样的情况:

@using (Ajax.BeginForm("Save")) {
    <input type='hidden' value='test' name='AFormField' />
}

然后 Controller 操作应该期望通过一个字段进行路由:

[Post]
public JsonResult Save(string AFormField)
<小时/>

如果您使用 HTML 帮助程序和强类型模型...

@using (Ajax.BeginForm("Save")) {
    @Html.EditorFor(model => model)
}

然后您可以期望模型实例被路由到操作:

[Post]
public JsonResult Save(MyModelType model)

关于Asp.net MVC 3 Ajax.beginform提交-发送什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553207/

相关文章:

.net - 嵌套 jQuery 循环?

asp.net - 在 JQuery UI 对话框中加载 aspx 页面

php - 在 keyup 事件上获取 codeigniter 中文本框的当前值

c# - log4net 与 ASP.NET MVC : nothing happens

c# - 如何正确映射 WebAPI 路由

c# - 使用 lambda 表达式在对象的对象列表中搜索?

javascript - 浏览器什么时候执行Javascript?执行光标如何移动?

javascript - 如何取回 jquery ajax 请求发送的 xhr 错误数据?

asp.net-mvc - System.Web.Mvc.WebViewPage<TModel>.Model.get 返回 null

asp.net-mvc - 模型中的 Sitecore Glass Mapper 构造函数依赖注入(inject) - 这在 MVC 中可能吗?