-->

ASP.NET MVC:ValueProviders的执行顺序(ASP.NET MVC: Order

2019-08-04 06:56发布

我想知道不同的执行顺序ValueProviders在ASP.NET MVC。

ValueProviders:

  • QueryStringValueProvider
  • RouteDataValueProvider
  • FormValueProvider
  • ...

我没有找到的信息。

Answer 1:

如果没记错的话,当务之急就是这个样子。

  1. 在请求表格数据
  2. 路由数据
  3. 请求参数
  4. HTTP文件集合

编辑我似乎是在用下面的网站,该网站列出的顺序相同的协议。 http://www.howmvcworks.net/OnModelsAndViewModels/TheBeautyThatIsTheModelBinder



Answer 2:

您可以从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(),
    };


文章来源: ASP.NET MVC: Order of execution of ValueProviders