سؤال

I like to know the order of the execution of the different ValueProviders in ASP.NET MVC.

ValueProviders:

  • QueryStringValueProvider
  • RouteDataValueProvider
  • FormValueProvider
  • ...

I did not find an information.

هل كانت مفيدة؟

المحلول

If memory serves me, the priority is like this.

  1. Form data in the request
  2. Route data
  3. Query String
  4. Http File Collection

EDIT I appear to be in agreement with the following website, which lists the same order. http://www.howmvcworks.net/OnModelsAndViewModels/TheBeautyThatIsTheModelBinder

نصائح أخرى

You can check this out from ASP.NET MVC source code: ValueProviderFactories.cs

Here is the predefined order for ValueProviders:

    private static readonly ValueProviderFactoryCollection _factories = new ValueProviderFactoryCollection()
    {
        new ChildActionValueProviderFactory(),
        new FormValueProviderFactory(),
        new JsonValueProviderFactory(),
        new RouteDataValueProviderFactory(),
        new QueryStringValueProviderFactory(),
        new HttpFileCollectionValueProviderFactory(),
    };
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top