在ASP.NET Core MVC中,可以使用模型绑定来处理包含IEnumerable
字段的提交模型。下面是一个示例解决方法:
首先,创建一个包含IEnumerable
字段的提交模型。假设我们要处理一个包含多个电子邮件地址的表单,可以创建一个名为EmailListModel
的模型:
public class EmailListModel
{
public IEnumerable Emails { get; set; }
}
然后,在控制器中创建一个接收EmailListModel
作为参数的Action方法:
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult Index(EmailListModel model)
{
// 进行处理逻辑,例如保存到数据库或发送电子邮件
return RedirectToAction("Success");
}
public IActionResult Success()
{
return View();
}
}
在上述代码中,Index
方法接收一个EmailListModel
作为参数,并在提交时进行模型绑定。然后,可以在该方法中执行处理逻辑,例如将电子邮件地址保存到数据库或发送电子邮件。
接下来,创建一个视图来显示包含多个电子邮件地址的表单。在Views/Home
文件夹下创建一个名为Index.cshtml
的视图:
@model EmailListModel
在上述代码中,使用asp-action
指定了表单提交的Action方法为Index
。每个电子邮件地址的输入字段都使用了相同的name
属性,这将使得这些值绑定到EmailListModel
类中的Emails
字段。
最后,创建一个用于显示成功消息的视图。在Views/Home
文件夹下创建一个名为Success.cshtml
的视图:
Success!
Your emails have been submitted successfully.
上述代码只是一个简单的示例,你可以根据实际需求进行修改和扩展。当用户填写电子邮件地址并提交表单时,表单数据将被绑定到EmailListModel
实例中的Emails
字段,并将该实例作为参数传递给Index
方法。然后你可以在该方法中执行处理逻辑,例如将电子邮件地址保存到数据库或发送电子邮件。