【问题标题】:IValueProvider in MVC 2 RC 2MVC 2 RC 2 中的 IValueProvider
【发布时间】:2010-02-18 16:55:27
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    天哪,这段代码看起来很眼熟!

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

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

    【讨论】:

    • 有趣的是你应该回应!......但你是完美的人。 n?我试图创建一个自定义模型绑定器来获取“重要”值,但会触发一个例程来对这些值应用一些特殊编码。这是一个好方法吗?
    猜你喜欢
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 2016-10-18
    相关资源
    最近更新 更多