使用linq替换Request.Form中的值

时间:2014-12-18 09:39:22

标签: forms model-view-controller replace asp.net-mvc-5

在我的视图中,我有一个下拉列表,其名称为ColorProperty1

当我们向控制器提交时,我试图使用linq在Request.Form中查找名称并替换值

如此处所示

 var Id = (from f in Request.Form.Cast<string>().Where(s => s.StartsWith("ColorProperty")).Select(a => a.Replace("ColorProperty", string.Empty)));

是的,我之后的数字是数字1,我​​知道我可以将名称更改为1但不幸的是我无法控制名称,上面的linq语句抱怨它说

&#34;期望的group,clause或select子句&#34;

我们可以使用以下

来完成此操作
foreach (string item in Request.Form)
{
    if (item.StartsWith("ColorProperty"))
       {
          model.ColorProperty = item.Replace("ColorProperty", string.Empty);
       }
}

但理想情况下我想做Linq,这可能吗?若有,有人可以纠正我的错误吗?

1 个答案:

答案 0 :(得分:0)

管理以获得解决方案

string colorId = Request.Form.Cast<string>().FirstOrDefault(item => item.StartsWith("ColorProperty")).Replace("ColorProperty", string.Empty);