IValueProvider in MVC 2 RC 2

2020-03-18 22:30发布

I have been working with MVC 2 and it seems that at some point of time the ModelBindingContext.ValueProvider class has been removed and replace with IValueProvider. Because of this im having trouble iterating through the ValueProvider.Keys. Here is an example and the message I receive from Code complete

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

     }
}

The message I get is System.Web.MVC.IValueProvider does not contain a definition for Keys. Could someone enlighten me on how to get around this.

1条回答
叛逆
2楼-- · 2020-03-18 23:12

Gosh, that code looks familiar!

You can't get a list of Key values from IValueProvider. You have to go to the source, e.g:

var keys = controllerContext.HttpContext.Request.QueryString.AllKeys.Where(...
查看更多
登录 后发表回答