MVC 2 RC 2中的IValueProvider

我一直在使用MVC 2,似乎在某些时候,ModelBindingContext.ValueProvider类已被删除并替换为IValueProvider。 因为这个我在迭代ValueProvider.Keys时遇到了麻烦。 这是一个示例,我从代码中收到的消息已完成

private void foo(ModelBindingContext myMBC) { var myImportantKeys = myMBC.ValueProvider.Keys.where(keyValue => keyValue.StartsWith("important", StringComparison.InvariantCulture); foreach(var importantKey in myImportantKeys) { } } 

我收到的消息是System.Web.MVC.IValueProvider不包含Keys的定义。 有人可以告诉我如何解决这个问题。

天哪,那段代码看起来很熟悉!

您无法从IValueProvider获取Key值列表。 你必须去源,例如:

 var keys = controllerContext.HttpContext.Request.QueryString.AllKeys.Where(...