使用html.BeginForm将对象从View传递到Controller

时间:2018-07-31 16:02:59

标签: c# asp.net .net asp.net-mvc

我有一个viewModel对象,我打算用通过视图中的表单传递给控制器​​的对象中的数据填充该对象。目前,这是我所拥有的:

查看

<form id="myForm" action="/Area/Controller/myAction" method="post">
                <input id="obj" type="hidden">
             </form>

型号

 public class myViewModel
{
    public string Email { get; set; }
    public string PhoneNumber { get; set; }
}

控制器

[HttpPost]
public ActionResult myAction(myViewModel userInfo= null)
        {
            var model = MethodToFillInViewModel(userInfo);
            return View("Index", model);
        }

这里的大图是我试图从一页中获取信息,将其传递给控制器​​以预填充视图模型,然后使用上一步中预填充的字段加载“索引”。截至目前,我正在检索空对象,但不确定为什么,有人可以对此进行说明吗? (我对整个MVC都是陌生的)

1 个答案:

答案 0 :(得分:0)

您可以使用标签助手:

@model myViewModel

<form id="myForm" asp-action="myAction" asp-controller="Area" method="post">
    <input asp-for="Email" type="hidden">
    <input asp-for="PhoneNumber" type="hidden">
</form>