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。