Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Request.Form从ASP.NET MVC中的select(多个)中获取所有选定选项?_C#_Asp.net Mvc - Fatal编程技术网

C# 如何使用Request.Form从ASP.NET MVC中的select(多个)中获取所有选定选项?

C# 如何使用Request.Form从ASP.NET MVC中的select(多个)中获取所有选定选项?,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个包含多个项目的选择,并允许用户选择多个选项: <select id="Emails" style="width: 100%;" size="16" multiple> @foreach (var email in Model._Emails) { @:<option value="@email.Id">@email.Adress</option> } </select> @foreach(模

我有一个包含多个项目的选择,并允许用户选择多个选项:

<select id="Emails" style="width: 100%;" size="16" multiple>
     @foreach (var email in Model._Emails)
     {
        @:<option value="@email.Id">@email.Adress</option>
     }
</select>

@foreach(模型中的var电子邮件。\u电子邮件)
{
@:@email.address
}
我想通过请求获取所选选项。表单:

    [HttpPost]
    public ActionResult Person(personobject obj)
    {
        IEnumerable<string> selectedemails = Request.Form["Emails"]; //Selected Emails
        ....
    }
[HttpPost]
公共行动结果人(个人目标)
{
IEnumerable selectedemails=Request.Form[“Emails”];//所选电子邮件
....
}
感谢您的请求。表单[“电子邮件”]将返回所有选定选项的逗号分隔字符串

您需要将代码更改为
IEnumerable selectedemails=Request.Form[“Emails”].split(“,”)

请求。表单[“电子邮件”]
将返回所有选定选项的逗号分隔字符串

您需要将代码更改为
IEnumerable selectedemails=Request.Form[“Emails”].split(“,”)

您的
标记没有
名称
属性,因此其值不会被发回。将html修改为

<select name="Emails" id="Emails" style="width: 100%;" size="16" multiple>
  ....

....
我建议您学习使用视图模型来显示/编辑要显示的内容,以及使用html帮助程序来生成正确的html并允许双向模型绑定。

您的
标记没有
名称属性,因此其值不会被发回。将html修改为

<select name="Emails" id="Emails" style="width: 100%;" size="16" multiple>
  ....

....

我建议您学习使用视图模型来显示/编辑要显示的内容,并使用html帮助程序来生成正确的html并允许双向模型绑定。

您可以使用解决此问题,请参阅,例如StackOverflow问题。您可以使用解决此问题,请参阅,例如StackOverflow问题。它起到了作用,但没有达到我的预期效果。实际上,我想获取属性,但是post只处理每个选项的值。我想我需要通过Ajax发布,或者编写一些脚本来序列化每个选项的属性。谢谢:)你说的“每个选项的属性”是什么意思?
email
的值将是一个包含所选选项值的数组(在您的情况下是所选的
email.Id
)。您没有(至少没有显示)任何其他属性。你希望发布什么其他信息?(是的,您需要javascript发回除控件值以外的任何内容)表单上有一个选项,可以作为主体检查电子邮件,因此结果如下:dddd@sdddd.comSince您必须在服务器端生成该选项,您已经知道,值为
1
email.id
在您发回邮件时具有
is_principal=“true”
,那么在请求中发送它有什么意义?不管怎么说,它是无效的html。它工作了,但不像我预期的那样。实际上,我想获取属性,但是post只处理每个选项的值。我想我需要通过Ajax发布,或者编写一些脚本来序列化每个选项的属性。谢谢:)你说的“每个选项的属性”是什么意思?
email
的值将是一个包含所选选项值的数组(在您的情况下是所选的
email.Id
)。您没有(至少没有显示)任何其他属性。你希望发布什么其他信息?(是的,您需要javascript发回除控件值以外的任何内容)表单上有一个选项,可以作为主体检查电子邮件,因此结果如下:dddd@sdddd.comSince您必须在服务器端生成该选项,您已经知道,值为
1
email.id
在您发回邮件时具有
is_principal=“true”
,那么在请求中发送它有什么意义?而且它是无效的html。