多个输入字段,名称为C#.NET Core

时间:2017-09-20 13:42:03

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

我使用VS for Mac,.NET Core 2.0,MVC。

我正在尝试制作一个表单,该表单接受同名文本的多个输入参数。 我的观点包含以下内容:

<div>
     <input asp-for="Email" class="form-control" type="email"/>
     <input asp-for="Email" class="form-control" type="email"/>
     <input asp-for="Email" class="form-control" type="email"/>
     <input asp-for="Email" class="form-control" type="email"/>
<div>

这给了我错误,我已经阅读了有关命名输入Email []的内容,但我无法使其正常工作。

如何整理视图,以后如何在控制器中收到电子邮件地址?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Email[]是一个类(假设从你的符号 - 如果你在谈论动作声明),输入很可能只是一个字符串。

因此,请将操作参数更改为string[] Email

ASP.NET Core模型绑定器会将多个同名的参数视为数组,因此EmailEmail[]应在视图中起作用。

HTML没有&#34;数组&#34;的概念,从HTML的角度来看Email[]只是一个普通的名称Email。它只取决于后端技术如何解释这种命名约定。

即。 PHP会将多个Email值(即Email=abc@xyz&Email=def@ghx)视为一个单独的值(使用第一个或最后一个参数),而ASP.NET&amp; ASP.NET Core将其解释为数组。