MVC 2 RC 2中的IValueProvider

时间:2010-02-18 16:55:27

标签: c# asp.net-mvc asp.net-mvc-2

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

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的定义。 有人可以告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

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

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

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