【问题标题】:How to pre-populate form in ASP.NET MVC如何在 ASP.NET MVC 中预填充表单
【发布时间】:2019-02-01 01:23:11
【问题描述】:

就我而言,我需要一个模型来实现这样的视图:

@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 =&gt; model.Field) 可能更多,但它们都是一样的。我不知道这个案例的模型应该是什么:

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

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

或者更好地填充模型而不使用EditorFor()

在控制器中我只需要得到填充模型

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

【问题讨论】:

  • 我不清楚您要做什么。您的模型只有一个文本字段,为什么同一字段需要多个输入?
  • @Владислав Контанистов,请检查我的回答,让我知道它是否适合您?

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


【解决方案1】:

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 =&gt; model.Field) 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2013-06-11
    • 2021-10-06
    相关资源
    最近更新 更多