8

我想知道ValueProvidersASP.NET MVC 中不同的执行顺序。

价值提供者:

  • QueryStringValueProvider
  • RouteDataValueProvider
  • 表单值提供者
  • ...

我没有找到信息。

4

2 回答 2

8

如果记忆对我有用,优先级是这样的。

  1. 请求中的表单数据
  2. 路线数据
  3. 请求参数
  4. Http 文件集合

编辑 我似乎同意以下网站,该网站列出了相同的订单。 http://www.howmvcworks.net/OnModelsAndViewModels/TheBeautyThatIsTheModelBinder

于 2012-12-18T16:13:54.313 回答
4

您可以从 ASP.NET MVC 源代码中查看:ValueProviderFactories.cs

这是 ValueProviders 的预定义顺序:

    private static readonly ValueProviderFactoryCollection _factories = new ValueProviderFactoryCollection()
    {
        new ChildActionValueProviderFactory(),
        new FormValueProviderFactory(),
        new JsonValueProviderFactory(),
        new RouteDataValueProviderFactory(),
        new QueryStringValueProviderFactory(),
        new HttpFileCollectionValueProviderFactory(),
    };
于 2015-11-08T17:38:23.147 回答