如何在ASP.NET MVC中预填充表单

时间:2019-02-01 01:23:12

标签: c# asp.net asp.net-mvc model-view-controller

就我而言,我需要一个用于这种视图的模型:

@model EditFormApplication.Models.NewForm

@using (Html.BeginForm("EditForm", "Home", FormMethod.Post))
}
   @Html.EditorFor(model => model.Field)
   @Html.EditorFor(model => model.Field)
   @Html.EditorFor(model => model.Field)
   <input type="submit" value="save">
}

@Html.EditorFor(model => model.Field)可能更多,但它们都是一样的。我不知道这种情况的模型是什么:

namespace EditFormApplication.Models
{
   public class NewForm
   {
       public string Field { get; set; }
   }
}

我需要将填充的模型发送到Homecontroller。视图中可以有无限数量的相同输入。

还是最好不使用EditorFor()来填充模型?

在控制器中,我只需要获取填充的模型

[HttpPost]
public ActionResult EditForm (NewForm model)
{
  return View();
}

1 个答案:

答案 0 :(得分:0)

pre-populate您的form,您需要在GET方法中设置模型属性值,如下所示:

[HttpGet]
public ActionResult EditForm()
{
   NewForm newForm = new NewForm()
   {
      Field = "Your pre-populate text"
   }
   return View(newForm);
}

现在"Your pre-populate text"会在表单中的每个@Html.EditorFor(model => model.Field)中显示。