我有一个局部视图,其中包含使用ajax.begin表单
创建的表单 @using (Ajax.BeginForm("Save", "saveStuffHere", null, new AjaxOptions
{HttpMethod = "Post", InsertionMode = InsertionMode.InsertAfter,
OnSuccess = "handleSuccess", OnFailure = "handleError"}))
{
在我的控制器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()
方法保存表单。如果我在控制器中调用方法错误,请纠正我。但我的问题是究竟是什么回送?或者换句话说,我的Save
方法应该期待什么?
基本上我不知道我的Save方法传递了什么。有没有办法让我指明我要回传的东西?我理解并知道如何使用jquery ajax,但我想在继续使用jquery ajax之前尝试这种方式。
答案 0 :(得分:3)
究竟是什么回送
表单中包含的input
个标签。因此,如果在最简单的情况下,你有这个:
@using (Ajax.BeginForm("Save")) {
<input type='hidden' value='test' name='AFormField' />
}
然后控制器操作应该期望通过以下方式路由一个字段:
[Post]
public JsonResult Save(string AFormField)
如果您正在使用HTML帮助程序和强类型模型......
@using (Ajax.BeginForm("Save")) {
@Html.EditorFor(model => model)
}
然后您可以期望模型实例被路由到Action:
[Post]
public JsonResult Save(MyModelType model)