Asp.net mvc 3 将Guid对数组发布到操作

Asp.net mvc 3 将Guid对数组发布到操作,asp.net-mvc-3,model-view-controller,Asp.net Mvc 3,Model View Controller,如您所见,我允许用户动态创建一个数据表,并将该表的ID存储在一个隐藏字段中(在示例中,它是一个文本区域,因此您可以看到它,最终的解决方案将是Guid而不是整数) 我的问题很简单:我应该在服务器/MVC操作中使用什么数据类型来获取文本区域/隐藏字段中的数据 目前,我有一个字符串,正在考虑执行大量的.split()和诸如此类的操作,但感觉不对 最终我需要某种IEnumerable东西?!?!所以我可以做一个foreach并获得每一对ID 我相信答案很简单,但我想不出该怎么办 非常感谢您的帮助。您可以

如您所见,我允许用户动态创建一个数据表,并将该表的ID存储在一个隐藏字段中(在示例中,它是一个文本区域,因此您可以看到它,最终的解决方案将是Guid而不是整数)

我的问题很简单:我应该在服务器/MVC操作中使用什么数据类型来获取文本区域/隐藏字段中的数据

目前,我有一个字符串,正在考虑执行大量的.split()和诸如此类的操作,但感觉不对

最终我需要某种
IEnumerable
东西?!?!所以我可以做一个foreach并获得每一对ID

我相信答案很简单,但我想不出该怎么办


非常感谢您的帮助。

您可以实际绑定到模型中的列表,请查看此帖子


如果您的UI有多个字段,如命名表单字段,它们将提交到您的操作方法并正确绑定到数组。对于这种情况,我们可以使用
string[]


然后您的控制器可以像这样处理它们:

public ActionResult MyAction(字符串[]guids)
{
如果四个字段都已填写,则guids.Count==4//。
}
请注意,如果表单只发送了一个
guids
值,则
字符串[]guids
仍将有效-它将只包含一个项目


最后,请注意,如果未输入任何值,则数组值将为null,而不是空数组。

您的JSFIDLE已损坏。
taskWayPointsGrid
变量没有在任何地方声明。@Darin Dimitrov:谢谢,它指向的是一个旧的修订。非常感谢您的回复。你知道我是否可以依赖字符串[]的填充顺序吗?我一直看到它是按文档顺序出现的,但我不确定是否所有浏览器都会一直这样做。MVC按照它们在请求数据中出现的顺序绑定它们。我想应该是这样的。非常感谢您的帮助。@Etfirfax哦,还有一件事:如果没有提交值,事情可能会很奇怪。数组将为null,而不是空的。另外,请确保数组变量不是路由的一部分。