我想知道MVC中不同ValueProviders
的执行顺序 ASP.NET。
价值提供者:
- QueryStringValueProvider
- RouteDataValueProvider
- 表单价值提供者
- 。
我没有找到信息。
如果没记错的话,优先级是这样的。
- 请求中的表单数据
- 路由数据
- 查询字符串
- Http 文件集合
编辑我似乎同意以下网站,该网站列出了相同的顺序。http://www.howmvcworks.net/OnModelsAndViewModels/TheBeautyThatIsTheModelBinder
你可以从 ASP.NET MVC源代码中查看:ValueProviderFactory.cs
以下是价值提供者的预定义顺序:
private static readonly ValueProviderFactoryCollection _factories = new ValueProviderFactoryCollection()
{
new ChildActionValueProviderFactory(),
new FormValueProviderFactory(),
new JsonValueProviderFactory(),
new RouteDataValueProviderFactory(),
new QueryStringValueProviderFactory(),
new HttpFileCollectionValueProviderFactory(),
};