2012-12-18 31 views
8

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

ValueProviders:

  • QueryStringValueProvider
  • RouteDataValueProvider
  • FormValueProvider
  • ...

我没有找到的信息。

+3

这个怎么样? ASP.NET MVC/Web API/Web Pages - 源代码http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/e599230bf8ac#src/System.Web.Mvc/ValueProviderFactories.cs – takepara

+0

@takepara很棒的+1 – Rookian

回答

3

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