在ASP.NET MVC中,将视图模型传递给控制器可以通过以下步骤实现:
public class PersonViewModel
{
public string Name { get; set; }
public int Age { get; set; }
}
@model PersonViewModel
@using (Html.BeginForm("Create", "Person", FormMethod.Post))
{
@Html.TextBoxFor(m => m.Name)
@Html.TextBoxFor(m => m.Age)
}
public class PersonController : Controller
{
[HttpPost]
public ActionResult Create(PersonViewModel person)
{
// 在这里执行相关的操作,例如保存到数据库
return RedirectToAction("Index");
}
}
在上述代码中,[HttpPost]属性指示该动作方法只能通过HTTP POST请求访问。然后,可以在该方法中进行相关操作,例如将视图模型保存到数据库。最后,可以通过RedirectToAction方法重定向到另一个动作方法,例如"Index"。
这样,当用户提交表单时,表单中的数据将被绑定到视图模型的属性,并作为参数传递给控制器的动作方法。