├── .appveyor.yml ├── .editorconfig ├── .gitattributes ├── .github └── ISSUE_TEMPLATE ├── .gitignore ├── .travis.yml ├── .vsts-pipelines ├── builds │ ├── ci-internal.yml │ └── ci-public.yml └── templates │ ├── phases │ └── default-build.yml │ └── project-ci.yml ├── CONTRIBUTING.md ├── Directory.Build.props ├── Directory.Build.targets ├── LICENSE.txt ├── Mvc.NoFun.sln ├── Mvc.sln ├── NuGet.config ├── NuGetPackageVerifier.json ├── README.md ├── Settings.StyleCop ├── benchmarkapps ├── BasicApi │ ├── BasicApi.csproj │ ├── Controllers │ │ ├── PetController.cs │ │ └── TokenController.cs │ ├── Migrations │ │ ├── 20180609000420_InitialCreate.Designer.cs │ │ ├── 20180609000420_InitialCreate.cs │ │ └── BasicApiContextModelSnapshot.cs │ ├── Models │ │ ├── BasicApiContext.cs │ │ ├── Category.cs │ │ ├── Image.cs │ │ ├── Pet.cs │ │ └── Tag.cs │ ├── Startup.cs │ ├── benchmarks.json │ ├── getWithToken.lua │ ├── postJsonWithToken.lua │ └── runtimeconfig.template.json ├── BasicViews │ ├── BasicViews.csproj │ ├── BasicViewsContext.cs │ ├── Components │ │ └── CurrentUser.cs │ ├── Controllers │ │ └── HomeController.cs │ ├── Migrations │ │ ├── 20180609000611_InitialCreate.Designer.cs │ │ ├── 20180609000611_InitialCreate.cs │ │ └── BasicViewsContextModelSnapshot.cs │ ├── Person.cs │ ├── Startup.cs │ ├── Views │ │ ├── Home │ │ │ ├── HtmlHelpers.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ └── _Layout.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── benchmarks.json │ ├── post.lua │ ├── postWithToken.lua │ ├── runtimeconfig.template.json │ ├── web.config │ └── wwwroot │ │ ├── css │ │ ├── site.css │ │ └── site.min.css │ │ └── js │ │ ├── site.js │ │ └── site.min.js ├── README.md └── RazorRendering │ ├── Data │ ├── DataA.cs │ └── DataB.cs │ ├── Pages │ ├── Category │ │ ├── PageA.cshtml │ │ ├── PageA.cshtml.cs │ │ └── _Subcategories.cshtml │ ├── Page.cs │ ├── Shared │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml │ ├── RazorRendering.csproj │ ├── Readme.md │ └── Startup.cs ├── benchmarks ├── Microsoft.AspNetCore.Mvc.Performance.Views │ ├── HelperExtensions.cs │ ├── Microsoft.AspNetCore.Mvc.Performance.Views.csproj │ ├── ViewAssemblyMarker.cs │ └── Views │ │ ├── HelloWorld.cshtml │ │ ├── HelperDynamic.cshtml │ │ ├── HelperExtensions.cshtml │ │ ├── HelperPartialAsync.cshtml │ │ ├── HelperPartialSync.cshtml │ │ ├── HelperPartialTagHelper.cshtml │ │ ├── HelperPartial_Partial.cshtml │ │ └── HelperTyped.cshtml └── Microsoft.AspNetCore.Mvc.Performance │ ├── ActionSelectorBenchmark.cs │ ├── AssemblyInfo.cs │ ├── HelperPerformanceBenchmark.cs │ ├── Microsoft.AspNetCore.Mvc.Performance.csproj │ ├── MvcEndpointDatasourceBenchmark.cs │ ├── RuntimePerformanceBenchmarkBase.cs │ ├── ValidationVisitorBenchmarkBase.cs │ ├── ValidationVisitorByteArrayBenchmark.cs │ ├── ValidationVisitorModelWithValidatedProperties.cs │ └── readme.md ├── build.cmd ├── build.sh ├── build ├── Key.snk ├── buildpipeline │ ├── linux.groovy │ ├── osx.groovy │ ├── pipeline.groovy │ └── windows.groovy ├── dependencies.props ├── repo.props └── sources.props ├── buildWithProcDump.cmd ├── global.json ├── korebuild-lock.txt ├── korebuild.json ├── run.cmd ├── run.ps1 ├── run.sh ├── runWithProcDump.ps1 ├── samples └── MvcSandbox │ ├── .bowerrc │ ├── .gitignore │ ├── Controllers │ ├── HomeController.cs │ └── LoginController.cs │ ├── HealthChecks │ └── HealthChecksEndpointRouteBuilderExtensions.cs │ ├── Models │ ├── Index.cs │ └── TestModel.cs │ ├── MvcSandbox.csproj │ ├── Pages │ ├── PagesHome.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml │ ├── Startup.cs │ └── Views │ ├── Home │ └── Index.cshtml │ ├── Shared │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── src ├── Directory.Build.props ├── GetDocumentInsider │ ├── AnsiConsole.cs │ ├── AnsiConstants.cs │ ├── AnsiTextWriter.cs │ ├── CommandException.cs │ ├── CommandLineUtils │ │ ├── CommandArgument.cs │ │ ├── CommandLineApplication.cs │ │ ├── CommandLineApplicationExtensions.cs │ │ ├── CommandOption.cs │ │ ├── CommandOptionType.cs │ │ └── CommandParsingException.cs │ ├── Commands │ │ ├── CommandBase.cs │ │ ├── GetDocumentCommand.cs │ │ ├── GetDocumentCommandContext.cs │ │ ├── GetDocumentCommandWorker.cs │ │ ├── HelpCommandBase.cs │ │ └── ProjectCommandBase.cs │ ├── GetDocumentInsider.csproj │ ├── ProductInfo.cs │ ├── Program.cs │ ├── Properties │ │ └── Resources.Designer.cs │ ├── Reporter.cs │ └── Resources.resx ├── Microsoft.AspNetCore.Mvc.Abstractions │ ├── Abstractions │ │ ├── ActionDescriptor.cs │ │ ├── ActionDescriptorExtensions.cs │ │ ├── ActionDescriptorProviderContext.cs │ │ ├── ActionInvokerProviderContext.cs │ │ ├── IActionDescriptorProvider.cs │ │ ├── IActionInvoker.cs │ │ ├── IActionInvokerProvider.cs │ │ └── ParameterDescriptor.cs │ ├── ActionConstraints │ │ ├── ActionConstraintContext.cs │ │ ├── ActionConstraintItem.cs │ │ ├── ActionConstraintProviderContext.cs │ │ ├── ActionSelectorCandidate.cs │ │ ├── IActionConstraint.cs │ │ ├── IActionConstraintFactory.cs │ │ ├── IActionConstraintMetadata.cs │ │ └── IActionConstraintProvider.cs │ ├── ActionContext.cs │ ├── ApiExplorer │ │ ├── ApiDescription.cs │ │ ├── ApiDescriptionProviderContext.cs │ │ ├── ApiParameterDescription.cs │ │ ├── ApiParameterRouteInfo.cs │ │ ├── ApiRequestFormat.cs │ │ ├── ApiResponseFormat.cs │ │ ├── ApiResponseType.cs │ │ └── IApiDescriptionProvider.cs │ ├── Authorization │ │ └── IAllowAnonymousFilter.cs │ ├── Filters │ │ ├── ActionExecutedContext.cs │ │ ├── ActionExecutingContext.cs │ │ ├── ActionExecutionDelegate.cs │ │ ├── AuthorizationFilterContext.cs │ │ ├── ExceptionContext.cs │ │ ├── FilterContext.cs │ │ ├── FilterDescriptor.cs │ │ ├── FilterItem.cs │ │ ├── FilterProviderContext.cs │ │ ├── IActionFilter.cs │ │ ├── IAlwaysRunResultFilter.cs │ │ ├── IAsyncActionFilter.cs │ │ ├── IAsyncAlwaysRunResultFilter.cs │ │ ├── IAsyncAuthorizationFilter.cs │ │ ├── IAsyncExceptionFilter.cs │ │ ├── IAsyncResourceFilter.cs │ │ ├── IAsyncResultFilter.cs │ │ ├── IAuthorizationFilter.cs │ │ ├── IExceptionFilter.cs │ │ ├── IFilterContainer.cs │ │ ├── IFilterFactory.cs │ │ ├── IFilterMetadata.cs │ │ ├── IFilterProvider.cs │ │ ├── IOrderedFilter.cs │ │ ├── IResourceFilter.cs │ │ ├── IResultFilter.cs │ │ ├── ResourceExecutedContext.cs │ │ ├── ResourceExecutingContext.cs │ │ ├── ResourceExecutionDelegate.cs │ │ ├── ResultExecutedContext.cs │ │ ├── ResultExecutingContext.cs │ │ └── ResultExecutionDelegate.cs │ ├── Formatters │ │ ├── FormatterCollection.cs │ │ ├── IInputFormatter.cs │ │ ├── IInputFormatterExceptionPolicy.cs │ │ ├── IOutputFormatter.cs │ │ ├── InputFormatterContext.cs │ │ ├── InputFormatterException.cs │ │ ├── InputFormatterExceptionPolicy.cs │ │ ├── InputFormatterResult.cs │ │ ├── OutputFormatterCanWriteContext.cs │ │ └── OutputFormatterWriteContext.cs │ ├── IActionResult.cs │ ├── IUrlHelper.cs │ ├── Microsoft.AspNetCore.Mvc.Abstractions.csproj │ ├── ModelBinding │ │ ├── BindingInfo.cs │ │ ├── BindingSource.cs │ │ ├── CompositeBindingSource.cs │ │ ├── EnumGroupAndName.cs │ │ ├── IBinderTypeProviderMetadata.cs │ │ ├── IBindingSourceMetadata.cs │ │ ├── IModelBinder.cs │ │ ├── IModelBinderProvider.cs │ │ ├── IModelMetadataProvider.cs │ │ ├── IModelNameProvider.cs │ │ ├── IPropertyFilterProvider.cs │ │ ├── IRequestPredicateProvider.cs │ │ ├── IValueProvider.cs │ │ ├── IValueProviderFactory.cs │ │ ├── Metadata │ │ │ ├── ModelBindingMessageProvider.cs │ │ │ ├── ModelMetadataIdentity.cs │ │ │ └── ModelMetadataKind.cs │ │ ├── ModelBinderProviderContext.cs │ │ ├── ModelBindingContext.cs │ │ ├── ModelBindingResult.cs │ │ ├── ModelError.cs │ │ ├── ModelErrorCollection.cs │ │ ├── ModelMetadata.cs │ │ ├── ModelMetadataProvider.cs │ │ ├── ModelPropertyCollection.cs │ │ ├── ModelStateDictionary.cs │ │ ├── ModelStateEntry.cs │ │ ├── ModelValidationState.cs │ │ ├── TooManyModelErrorsException.cs │ │ ├── Validation │ │ │ ├── ClientModelValidationContext.cs │ │ │ ├── ClientValidatorItem.cs │ │ │ ├── ClientValidatorProviderContext.cs │ │ │ ├── IClientModelValidator.cs │ │ │ ├── IClientModelValidatorProvider.cs │ │ │ ├── IModelValidator.cs │ │ │ ├── IModelValidatorProvider.cs │ │ │ ├── IPropertyValidationFilter.cs │ │ │ ├── IValidationStrategy.cs │ │ │ ├── ModelValidationContext.cs │ │ │ ├── ModelValidationContextBase.cs │ │ │ ├── ModelValidationResult.cs │ │ │ ├── ModelValidatorProviderContext.cs │ │ │ ├── ValidationEntry.cs │ │ │ ├── ValidationStateDictionary.cs │ │ │ ├── ValidationStateEntry.cs │ │ │ └── ValidatorItem.cs │ │ ├── ValueProviderFactoryContext.cs │ │ └── ValueProviderResult.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── Resources.resx │ ├── Routing │ │ ├── AttributeRouteInfo.cs │ │ ├── UrlActionContext.cs │ │ └── UrlRouteContext.cs │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.Analyzers │ ├── AttributesShouldNotBeAppliedToPageModelAnalyzer.cs │ ├── AvoidHtmlPartialAnalyzer.cs │ ├── CodeAnalysisExtensions.cs │ ├── DiagnosticDescriptors.cs │ ├── Microsoft.AspNetCore.Mvc.Analyzers.csproj │ ├── Microsoft.AspNetCore.Mvc.Analyzers.nuspec │ ├── MvcFacts.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── SymbolNames.cs │ ├── TopLevelParameterNameAnalyzer.cs │ ├── ViewFeatureAnalyzerBase.cs │ └── ViewFeaturesAnalyzerContext.cs ├── Microsoft.AspNetCore.Mvc.Api.Analyzers │ ├── ActualApiResponseMetadata.cs │ ├── ActualApiResponseMetadataFactory.cs │ ├── AddResponseTypeAttributeCodeFixAction.cs │ ├── AddResponseTypeAttributeCodeFixProvider.cs │ ├── ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzer.cs │ ├── ApiActionsDoNotRequireExplicitModelValidationCodeFixProvider.cs │ ├── ApiControllerFacts.cs │ ├── ApiControllerSymbolCache.cs │ ├── ApiConventionAnalyzer.cs │ ├── ApiDiagnosticDescriptors.cs │ ├── ApiSymbolNames.cs │ ├── DeclaredApiResponseMetadata.cs │ ├── Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj │ ├── Microsoft.AspNetCore.Mvc.Api.Analyzers.nuspec │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── SymbolApiConventionMatcher.cs │ └── SymbolApiResponseMetadataProvider.cs ├── Microsoft.AspNetCore.Mvc.ApiExplorer │ ├── ApiDescriptionExtensions.cs │ ├── ApiDescriptionGroup.cs │ ├── ApiDescriptionGroupCollection.cs │ ├── ApiDescriptionGroupCollectionProvider.cs │ ├── ApiParameterContext.cs │ ├── ApiResponseTypeProvider.cs │ ├── DefaultApiDescriptionProvider.cs │ ├── DependencyInjection │ │ └── MvcApiExplorerMvcCoreBuilderExtensions.cs │ ├── IApiDescriptionGroupCollectionProvider.cs │ ├── Microsoft.AspNetCore.Mvc.ApiExplorer.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.Core │ ├── AcceptVerbsAttribute.cs │ ├── AcceptedAtActionResult.cs │ ├── AcceptedAtRouteResult.cs │ ├── AcceptedResult.cs │ ├── ActionConstraints │ │ ├── ActionConstraintCache.cs │ │ ├── ActionMethodSelectorAttribute.cs │ │ ├── DefaultActionConstraintProvider.cs │ │ ├── HttpMethodActionConstraint.cs │ │ └── IConsumesActionConstraint.cs │ ├── ActionContextAttribute.cs │ ├── ActionNameAttribute.cs │ ├── ActionResult.cs │ ├── ActionResultOfT.cs │ ├── AntiforgeryValidationFailedResult.cs │ ├── ApiBehaviorOptions.cs │ ├── ApiControllerAttribute.cs │ ├── ApiConventionMethodAttribute.cs │ ├── ApiConventionTypeAttribute.cs │ ├── ApiExplorer │ │ ├── ApiConventionMatcher.cs │ │ ├── ApiConventionNameMatchAttribute.cs │ │ ├── ApiConventionNameMatchBehavior.cs │ │ ├── ApiConventionResult.cs │ │ ├── ApiConventionTypeMatchAttribute.cs │ │ ├── ApiConventionTypeMatchBehavior.cs │ │ ├── ApiDescriptionActionData.cs │ │ ├── IApiDefaultResponseMetadataProvider.cs │ │ ├── IApiDescriptionGroupNameProvider.cs │ │ ├── IApiDescriptionVisibilityProvider.cs │ │ ├── IApiRequestFormatMetadataProvider.cs │ │ ├── IApiRequestMetadataProvider.cs │ │ ├── IApiResponseMetadataProvider.cs │ │ └── IApiResponseTypeMetadataProvider.cs │ ├── ApiExplorerSettingsAttribute.cs │ ├── ApplicationModels │ │ ├── ActionAttributeRouteModel.cs │ │ ├── ActionModel.cs │ │ ├── ApiBehaviorApplicationModelProvider.cs │ │ ├── ApiConventionApplicationModelConvention.cs │ │ ├── ApiExplorerModel.cs │ │ ├── ApiVisibilityConvention.cs │ │ ├── ApplicationModel.cs │ │ ├── ApplicationModelConventions.cs │ │ ├── ApplicationModelFactory.cs │ │ ├── ApplicationModelProviderContext.cs │ │ ├── AttributeRouteModel.cs │ │ ├── AuthorizationApplicationModelProvider.cs │ │ ├── ClientErrorResultFilterConvention.cs │ │ ├── ConsumesConstraintForFormFileParameterConvention.cs │ │ ├── ControllerActionDescriptorBuilder.cs │ │ ├── ControllerActionDescriptorProvider.cs │ │ ├── ControllerModel.cs │ │ ├── DefaultApplicationModelProvider.cs │ │ ├── IActionModelConvention.cs │ │ ├── IApiExplorerModel.cs │ │ ├── IApplicationModelConvention.cs │ │ ├── IApplicationModelProvider.cs │ │ ├── IBindingModel.cs │ │ ├── ICommonModel.cs │ │ ├── IControllerModelConvention.cs │ │ ├── IFilterModel.cs │ │ ├── IParameterModelBaseConvention.cs │ │ ├── IParameterModelConvention.cs │ │ ├── IPropertyModel.cs │ │ ├── InferParameterBindingInfoConvention.cs │ │ ├── InvalidModelStateFilterConvention.cs │ │ ├── ParameterModel.cs │ │ ├── ParameterModelBase.cs │ │ ├── PropertyModel.cs │ │ ├── RouteTokenTransformerConvention.cs │ │ └── SelectorModel.cs │ ├── ApplicationParts │ │ ├── ApplicationAssembliesProvider.cs │ │ ├── ApplicationPart.cs │ │ ├── ApplicationPartFactory.cs │ │ ├── ApplicationPartManager.cs │ │ ├── AssemblyPart.cs │ │ ├── DefaultApplicationPartFactory.cs │ │ ├── IApplicationFeatureProvider.cs │ │ ├── IApplicationFeatureProviderOfT.cs │ │ ├── IApplicationPartTypeProvider.cs │ │ ├── ICompilationReferencesProvider.cs │ │ ├── NullApplicationPartFactory.cs │ │ ├── ProvideApplicationPartFactoryAttribute.cs │ │ └── RelatedAssemblyAttribute.cs │ ├── AreaAttribute.cs │ ├── Authorization │ │ ├── AllowAnonymousFilter.cs │ │ └── AuthorizeFilter.cs │ ├── BadRequestObjectResult.cs │ ├── BadRequestResult.cs │ ├── BindAttribute.cs │ ├── BindPropertiesAttribute.cs │ ├── BindPropertyAttribute.cs │ ├── Builder │ │ ├── DefaultEndpointConventionBuilder.cs │ │ ├── MvcApplicationBuilderExtensions.cs │ │ ├── MvcAreaRouteBuilderExtensions.cs │ │ ├── MvcEndpointInfo.cs │ │ └── MvcEndpointRouteBuilderExtensions.cs │ ├── CacheProfile.cs │ ├── ChallengeResult.cs │ ├── ClientErrorData.cs │ ├── CompatibilityVersion.cs │ ├── ConflictObjectResult.cs │ ├── ConflictResult.cs │ ├── ConsumesAttribute.cs │ ├── ContentResult.cs │ ├── ControllerAttribute.cs │ ├── ControllerBase.cs │ ├── ControllerContext.cs │ ├── ControllerContextAttribute.cs │ ├── Controllers │ │ ├── ControllerActionDescriptor.cs │ │ ├── ControllerActivatorProvider.cs │ │ ├── ControllerBinderDelegate.cs │ │ ├── ControllerBinderDelegateProvider.cs │ │ ├── ControllerBoundPropertyDescriptor.cs │ │ ├── ControllerFactoryProvider.cs │ │ ├── ControllerFeature.cs │ │ ├── ControllerFeatureProvider.cs │ │ ├── ControllerParameterDescriptor.cs │ │ ├── DefaultControllerActivator.cs │ │ ├── DefaultControllerFactory.cs │ │ ├── DefaultControllerPropertyActivator.cs │ │ ├── IControllerActivator.cs │ │ ├── IControllerActivatorProvider.cs │ │ ├── IControllerFactory.cs │ │ ├── IControllerFactoryProvider.cs │ │ ├── IControllerPropertyActivatorFactory.cs │ │ └── ServiceBasedControllerActivator.cs │ ├── CreatedAtActionResult.cs │ ├── CreatedAtRouteResult.cs │ ├── CreatedResult.cs │ ├── DefaultApiConventions.cs │ ├── DependencyInjection │ │ ├── ApiBehaviorOptionsSetup.cs │ │ ├── ApplicationModelConventionExtensions.cs │ │ ├── IMvcBuilder.cs │ │ ├── IMvcCoreBuilder.cs │ │ ├── MvcBuilder.cs │ │ ├── MvcCoreBuilder.cs │ │ ├── MvcCoreMvcBuilderExtensions.cs │ │ ├── MvcCoreMvcCoreBuilderExtensions.cs │ │ ├── MvcCoreRouteOptionsSetup.cs │ │ ├── MvcCoreServiceCollectionExtensions.cs │ │ └── MvcMarkerService.cs │ ├── DisableRequestSizeLimitAttribute.cs │ ├── EmptyResult.cs │ ├── FileContentResult.cs │ ├── FileResult.cs │ ├── FileStreamResult.cs │ ├── Filters │ │ ├── ActionFilterAttribute.cs │ │ ├── ControllerActionFilter.cs │ │ ├── ControllerResultFilter.cs │ │ ├── DefaultFilterProvider.cs │ │ ├── DisableRequestSizeLimitFilter.cs │ │ ├── ExceptionFilterAttribute.cs │ │ ├── FilterCollection.cs │ │ ├── FilterCursor.cs │ │ ├── FilterCursorItem.cs │ │ ├── FilterDescriptorOrderComparer.cs │ │ ├── FilterFactory.cs │ │ ├── FilterFactoryResult.cs │ │ ├── FilterScope.cs │ │ ├── IMiddlewareFilterFeature.cs │ │ ├── IResponseCacheFilter.cs │ │ ├── MiddlewareFilter.cs │ │ ├── MiddlewareFilterAttribute.cs │ │ ├── MiddlewareFilterBuilder.cs │ │ ├── MiddlewareFilterBuilderStartupFilter.cs │ │ ├── MiddlewareFilterConfigurationProvider.cs │ │ ├── MiddlewareFilterFeature.cs │ │ ├── RequestFormLimitsFilter.cs │ │ ├── RequestSizeLimitFilter.cs │ │ ├── ResponseCacheFilter.cs │ │ ├── ResponseCacheFilterExecutor.cs │ │ └── ResultFilterAttribute.cs │ ├── ForbidResult.cs │ ├── FormatFilterAttribute.cs │ ├── Formatters │ │ ├── AcceptHeaderParser.cs │ │ ├── FormatFilter.cs │ │ ├── FormatterMappings.cs │ │ ├── HttpNoContentOutputFormatter.cs │ │ ├── HttpParseResult.cs │ │ ├── HttpTokenParsingRules.cs │ │ ├── IFormatFilter.cs │ │ ├── InputFormatter.cs │ │ ├── MediaType.cs │ │ ├── MediaTypeCollection.cs │ │ ├── MediaTypeSegmentWithQuality.cs │ │ ├── OutputFormatter.cs │ │ ├── ResponseContentTypeHelper.cs │ │ ├── StreamOutputFormatter.cs │ │ ├── StringOutputFormatter.cs │ │ ├── TextInputFormatter.cs │ │ └── TextOutputFormatter.cs │ ├── FromBodyAttribute.cs │ ├── FromFormAttribute.cs │ ├── FromHeaderAttribute.cs │ ├── FromQueryAttribute.cs │ ├── FromRouteAttribute.cs │ ├── FromServicesAttribute.cs │ ├── HttpDeleteAttribute.cs │ ├── HttpGetAttribute.cs │ ├── HttpHeadAttribute.cs │ ├── HttpOptionsAttribute.cs │ ├── HttpPatchAttribute.cs │ ├── HttpPostAttribute.cs │ ├── HttpPutAttribute.cs │ ├── IApiBehaviorMetadata.cs │ ├── IDesignTimeMvcBuilderConfiguration.cs │ ├── IRequestFormLimitsPolicy.cs │ ├── IRequestSizePolicy.cs │ ├── Infrastructure │ │ ├── ActionContextAccessor.cs │ │ ├── ActionDescriptorCollection.cs │ │ ├── ActionDescriptorCollectionProvider.cs │ │ ├── ActionInvokerFactory.cs │ │ ├── ActionMethodExecutor.cs │ │ ├── ActionResultObjectValueAttribute.cs │ │ ├── ActionResultStatusCodeAttribute.cs │ │ ├── ActionResultTypeMapper.cs │ │ ├── ActionSelector.cs │ │ ├── AmbiguousActionException.cs │ │ ├── ClientErrorResultFilter.cs │ │ ├── ClientErrorResultFilterFactory.cs │ │ ├── CompatibilitySwitch.cs │ │ ├── ConfigureCompatibilityOptions.cs │ │ ├── ContentResultExecutor.cs │ │ ├── ControllerActionInvoker.cs │ │ ├── ControllerActionInvokerCache.cs │ │ ├── ControllerActionInvokerCacheEntry.cs │ │ ├── ControllerActionInvokerProvider.cs │ │ ├── CopyOnWriteList.cs │ │ ├── DefaultActionDescriptorCollectionProvider.cs │ │ ├── DefaultOutputFormatterSelector.cs │ │ ├── DefaultStatusCodeAttribute.cs │ │ ├── FileContentResultExecutor.cs │ │ ├── FileResultExecutorBase.cs │ │ ├── FileStreamResultExecutor.cs │ │ ├── IActionContextAccessor.cs │ │ ├── IActionDescriptorChangeProvider.cs │ │ ├── IActionDescriptorCollectionProvider.cs │ │ ├── IActionInvokerFactory.cs │ │ ├── IActionResultExecutor.cs │ │ ├── IActionResultTypeMapper.cs │ │ ├── IActionSelector.cs │ │ ├── IAntiforgeryValidationFailedResult.cs │ │ ├── IClientErrorActionResult.cs │ │ ├── IClientErrorFactory.cs │ │ ├── ICompatibilitySwitch.cs │ │ ├── IConvertToActionResult.cs │ │ ├── IHttpRequestStreamReaderFactory.cs │ │ ├── IHttpResponseStreamWriterFactory.cs │ │ ├── IParameterInfoParameterDescriptor.cs │ │ ├── IPropertyInfoParameterDescriptor.cs │ │ ├── IStatusCodeActionResult.cs │ │ ├── ITypeActivatorCache.cs │ │ ├── LocalRedirectResultExecutor.cs │ │ ├── MemoryPoolHttpRequestStreamReaderFactory.cs │ │ ├── MemoryPoolHttpResponseStreamWriterFactory.cs │ │ ├── ModelStateInvalidFilter.cs │ │ ├── ModelStateInvalidFilterFactory.cs │ │ ├── MvcCompatibilityOptions.cs │ │ ├── MvcCoreMvcOptionsSetup.cs │ │ ├── MvcOptionsConfigureCompatibilityOptions.cs │ │ ├── NonDisposableStream.cs │ │ ├── NullableCompatibilitySwitch.cs │ │ ├── ObjectResultExecutor.cs │ │ ├── OutputFormatterSelector.cs │ │ ├── ParameterDefaultValues.cs │ │ ├── PhysicalFileResultExecutor.cs │ │ ├── ProblemDetailsClientErrorFactory.cs │ │ ├── RedirectResultExecutor.cs │ │ ├── RedirectToActionResultExecutor.cs │ │ ├── RedirectToPageResultExecutor.cs │ │ ├── RedirectToRouteResultExecutor.cs │ │ ├── ResourceInvoker.cs │ │ ├── TypeActivatorCache.cs │ │ └── VirtualFileResultExecutor.cs │ ├── LocalRedirectResult.cs │ ├── Microsoft.AspNetCore.Mvc.Core.csproj │ ├── ModelBinderAttribute.cs │ ├── ModelBinding │ │ ├── BindNeverAttribute.cs │ │ ├── BindRequiredAttribute.cs │ │ ├── Binders │ │ │ ├── ArrayModelBinder.cs │ │ │ ├── ArrayModelBinderProvider.cs │ │ │ ├── BinderTypeModelBinder.cs │ │ │ ├── BinderTypeModelBinderProvider.cs │ │ │ ├── BodyModelBinder.cs │ │ │ ├── BodyModelBinderProvider.cs │ │ │ ├── ByteArrayModelBinder.cs │ │ │ ├── ByteArrayModelBinderProvider.cs │ │ │ ├── CancellationTokenModelBinder.cs │ │ │ ├── CancellationTokenModelBinderProvider.cs │ │ │ ├── CollectionModelBinder.cs │ │ │ ├── CollectionModelBinderProvider.cs │ │ │ ├── ComplexTypeModelBinder.cs │ │ │ ├── ComplexTypeModelBinderProvider.cs │ │ │ ├── DecimalModelBinder.cs │ │ │ ├── DictionaryModelBinder.cs │ │ │ ├── DictionaryModelBinderProvider.cs │ │ │ ├── DoubleModelBinder.cs │ │ │ ├── EnumTypeModelBinder.cs │ │ │ ├── EnumTypeModelBinderProvider.cs │ │ │ ├── FloatModelBinder.cs │ │ │ ├── FloatingPointTypeModelBinderProvider.cs │ │ │ ├── FormCollectionModelBinder.cs │ │ │ ├── FormCollectionModelBinderProvider.cs │ │ │ ├── FormFileModelBinder.cs │ │ │ ├── FormFileModelBinderProvider.cs │ │ │ ├── HeaderModelBinder.cs │ │ │ ├── HeaderModelBinderProvider.cs │ │ │ ├── KeyValuePairModelBinder.cs │ │ │ ├── KeyValuePairModelBinderProvider.cs │ │ │ ├── ServicesModelBinder.cs │ │ │ ├── ServicesModelBinderProvider.cs │ │ │ ├── SimpleTypeModelBinder.cs │ │ │ └── SimpleTypeModelBinderProvider.cs │ │ ├── BindingBehavior.cs │ │ ├── BindingBehaviorAttribute.cs │ │ ├── BindingSourceValueProvider.cs │ │ ├── CompositeValueProvider.cs │ │ ├── DefaultModelBindingContext.cs │ │ ├── DefaultPropertyFilterProvider.cs │ │ ├── ElementalValueProvider.cs │ │ ├── EmptyModelMetadataProvider.cs │ │ ├── FormValueProvider.cs │ │ ├── FormValueProviderFactory.cs │ │ ├── IBindingSourceValueProvider.cs │ │ ├── ICollectionModelBinder.cs │ │ ├── IEnumerableValueProvider.cs │ │ ├── IKeyRewriterValueProvider.cs │ │ ├── IModelBinderFactory.cs │ │ ├── JQueryFormValueProvider.cs │ │ ├── JQueryFormValueProviderFactory.cs │ │ ├── JQueryKeyValuePairNormalizer.cs │ │ ├── JQueryQueryStringValueProvider.cs │ │ ├── JQueryQueryStringValueProviderFactory.cs │ │ ├── JQueryValueProvider.cs │ │ ├── Metadata │ │ │ ├── BindingMetadata.cs │ │ │ ├── BindingMetadataProviderContext.cs │ │ │ ├── BindingSourceMetadataProvider.cs │ │ │ ├── DefaultBindingMetadataProvider.cs │ │ │ ├── DefaultCompositeMetadataDetailsProvider.cs │ │ │ ├── DefaultMetadataDetails.cs │ │ │ ├── DefaultModelBindingMessageProvider.cs │ │ │ ├── DefaultModelMetadata.cs │ │ │ ├── DefaultModelMetadataProvider.cs │ │ │ ├── DefaultValidationMetadataProvider.cs │ │ │ ├── DisplayMetadata.cs │ │ │ ├── DisplayMetadataProviderContext.cs │ │ │ ├── ExcludeBindingMetadataProvider.cs │ │ │ ├── HasValidatorsValidationMetadataProvider.cs │ │ │ ├── IBindingMetadataProvider.cs │ │ │ ├── ICompositeMetadataDetailsProvider.cs │ │ │ ├── IDisplayMetadataProvider.cs │ │ │ ├── IMetadataDetailsProvider.cs │ │ │ ├── IValidationMetadataProvider.cs │ │ │ ├── MetadataDetailsProviderExtensions.cs │ │ │ ├── ModelAttributes.cs │ │ │ ├── ValidationMetadata.cs │ │ │ └── ValidationMetadataProviderContext.cs │ │ ├── ModelBinderFactory.cs │ │ ├── ModelBinderFactoryContext.cs │ │ ├── ModelBinderProviderExtensions.cs │ │ ├── ModelBindingHelper.cs │ │ ├── ModelMetadataProviderExtensions.cs │ │ ├── ModelNames.cs │ │ ├── NoOpBinder.cs │ │ ├── ObjectModelValidator.cs │ │ ├── ParameterBinder.cs │ │ ├── PlaceholderBinder.cs │ │ ├── PrefixContainer.cs │ │ ├── PropertyValueSetter.cs │ │ ├── QueryStringValueProvider.cs │ │ ├── QueryStringValueProviderFactory.cs │ │ ├── ReferenceEqualityComparer.cs │ │ ├── RouteValueProvider.cs │ │ ├── RouteValueProviderFactory.cs │ │ ├── SuppressChildValidationMetadataProvider.cs │ │ ├── UnsupportedContentTypeException.cs │ │ ├── UnsupportedContentTypeFilter.cs │ │ ├── Validation │ │ │ ├── ClientValidatorCache.cs │ │ │ ├── CompositeClientModelValidatorProvider.cs │ │ │ ├── CompositeModelValidatorProvider.cs │ │ │ ├── DefaultCollectionValidationStrategy.cs │ │ │ ├── DefaultComplexObjectValidationStrategy.cs │ │ │ ├── DefaultModelValidatorProvider.cs │ │ │ ├── DefaultObjectValidator.cs │ │ │ ├── ExplicitIndexCollectionValidationStrategy.cs │ │ │ ├── IMetadataBasedModelValidatorProvider.cs │ │ │ ├── IObjectModelValidator.cs │ │ │ ├── ModelValidatorProviderExtensions.cs │ │ │ ├── ShortFormDictionaryValidationStrategy.cs │ │ │ ├── ValidateNeverAttribute.cs │ │ │ ├── ValidationStack.cs │ │ │ ├── ValidationVisitor.cs │ │ │ └── ValidatorCache.cs │ │ └── ValueProviderFactoryExtensions.cs │ ├── ModelMetadataTypeAttribute.cs │ ├── MvcCoreDiagnosticSourceExtensions.cs │ ├── MvcCoreLoggerExtensions.cs │ ├── MvcOptions.cs │ ├── NoContentResult.cs │ ├── NonActionAttribute.cs │ ├── NonControllerAttribute.cs │ ├── NonViewComponentAttribute.cs │ ├── NotFoundObjectResult.cs │ ├── NotFoundResult.cs │ ├── ObjectResult.cs │ ├── OkObjectResult.cs │ ├── OkResult.cs │ ├── PhysicalFileResult.cs │ ├── ProblemDetails.cs │ ├── ProducesAttribute.cs │ ├── ProducesDefaultResponseTypeAttribute.cs │ ├── ProducesErrorResponseTypeAttribute.cs │ ├── ProducesResponseTypeAttribute.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RedirectResult.cs │ ├── RedirectToActionResult.cs │ ├── RedirectToPageResult.cs │ ├── RedirectToRouteResult.cs │ ├── RequestFormLimitsAttribute.cs │ ├── RequestSizeLimitAttribute.cs │ ├── RequireHttpsAttribute.cs │ ├── Resources.resx │ ├── ResponseCacheAttribute.cs │ ├── ResponseCacheLocation.cs │ ├── RouteAttribute.cs │ ├── Routing │ │ ├── ActionConstraintMatcherPolicy.cs │ │ ├── AttributeRoute.cs │ │ ├── AttributeRouting.cs │ │ ├── ConsumesMatcherPolicy.cs │ │ ├── ConsumesMetadata.cs │ │ ├── ControllerLinkGeneratorExtensions.cs │ │ ├── EndpointRoutingUrlHelper.cs │ │ ├── HttpMethodAttribute.cs │ │ ├── IActionHttpMethodProvider.cs │ │ ├── IConsumesMetadata.cs │ │ ├── IRouteTemplateProvider.cs │ │ ├── IRouteValueProvider.cs │ │ ├── IUrlHelperFactory.cs │ │ ├── KnownRouteValueConstraint.cs │ │ ├── MvcAttributeRouteHandler.cs │ │ ├── MvcEndpointDataSource.cs │ │ ├── MvcEndpointInvokerFactory.cs │ │ ├── MvcRouteHandler.cs │ │ ├── NormalizedRouteValue.cs │ │ ├── NullRouter.cs │ │ ├── PageLinkGeneratorExtensions.cs │ │ ├── RoutePatternWriter.cs │ │ ├── RouteValueAttribute.cs │ │ ├── UrlHelper.cs │ │ ├── UrlHelperBase.cs │ │ ├── UrlHelperFactory.cs │ │ └── ViewEnginePath.cs │ ├── SerializableError.cs │ ├── ServiceFilterAttribute.cs │ ├── SignInResult.cs │ ├── SignOutResult.cs │ ├── StatusCodeResult.cs │ ├── TypeFilterAttribute.cs │ ├── UnauthorizedObjectResult.cs │ ├── UnauthorizedResult.cs │ ├── UnprocessableEntityObjectResult.cs │ ├── UnprocessableEntityResult.cs │ ├── UnsupportedMediaTypeResult.cs │ ├── UrlHelperExtensions.cs │ ├── ValidationProblemDetails.cs │ ├── ViewFeatures │ │ └── IKeepTempDataResult.cs │ ├── VirtualFileResult.cs │ ├── baseline.netcore.json │ └── breakingchanges.netcore.json ├── Microsoft.AspNetCore.Mvc.Cors │ ├── CorsApplicationModelProvider.cs │ ├── CorsAuthorizationFilter.cs │ ├── CorsAuthorizationFilterFactory.cs │ ├── CorsHttpMethodActionConstraint.cs │ ├── CorsLoggerExtensions.cs │ ├── DependencyInjection │ │ └── MvcCorsMvcCoreBuilderExtensions.cs │ ├── DisableCorsAuthorizationFilter.cs │ ├── ICorsAuthorizationFilter.cs │ ├── Microsoft.AspNetCore.Mvc.Cors.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── Resources.resx │ ├── baseline.netcore.json │ └── breakingchanges.netcore.json ├── Microsoft.AspNetCore.Mvc.DataAnnotations │ ├── AttributeAdapterBase.cs │ ├── CompareAttributeAdapter.cs │ ├── DataAnnotationsClientModelValidatorProvider.cs │ ├── DataAnnotationsLocalizationServices.cs │ ├── DataAnnotationsMetadataProvider.cs │ ├── DataAnnotationsModelValidator.cs │ ├── DataAnnotationsModelValidatorProvider.cs │ ├── DataTypeAttributeAdapter.cs │ ├── DefaultClientModelValidatorProvider.cs │ ├── DependencyInjection │ │ ├── MvcDataAnnotationsLocalizationConfigureCompatibilityOptions.cs │ │ ├── MvcDataAnnotationsLocalizationOptionsSetup.cs │ │ ├── MvcDataAnnotationsMvcBuilderExtensions.cs │ │ ├── MvcDataAnnotationsMvcCoreBuilderExtensions.cs │ │ └── MvcDataAnnotationsMvcOptionsSetup.cs │ ├── FileExtensionsAttributeAdapter.cs │ ├── HiddenInputAttribute.cs │ ├── IAttributeAdapter.cs │ ├── IValidationAttributeAdapterProvider.cs │ ├── MaxLengthAttributeAdapter.cs │ ├── Microsoft.AspNetCore.Mvc.DataAnnotations.csproj │ ├── MinLengthAttributeAdapter.cs │ ├── MvcDataAnnotationsLocalizationOptions.cs │ ├── NumericClientModelValidator.cs │ ├── NumericClientModelValidatorProvider.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RangeAttributeAdapter.cs │ ├── RegularExpressionAttributeAdapter.cs │ ├── RequiredAttributeAdapter.cs │ ├── Resources.resx │ ├── StringLengthAttributeAdapter.cs │ ├── ValidatableObjectAdapter.cs │ ├── ValidationAttributeAdapterOfTAttribute.cs │ ├── ValidationAttributeAdapterProvider.cs │ ├── ValidationProviderAttribute.cs │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.Formatters.Json │ ├── DependencyInjection │ │ ├── MvcJsonMvcBuilderExtensions.cs │ │ ├── MvcJsonMvcCoreBuilderExtensions.cs │ │ ├── MvcJsonMvcOptionsSetup.cs │ │ ├── MvcJsonOptionsConfigureCompatibilityOptions.cs │ │ └── MvcJsonOptionsExtensions.cs │ ├── JsonArrayPool.cs │ ├── JsonInputFormatter.cs │ ├── JsonOutputFormatter.cs │ ├── JsonPatchExtensions.cs │ ├── JsonPatchInputFormatter.cs │ ├── JsonPatchOperationsArrayProvider.cs │ ├── JsonResult.cs │ ├── JsonResultExecutor.cs │ ├── JsonSerializerObjectPolicy.cs │ ├── JsonSerializerSettingsProvider.cs │ ├── MediaTypeHeaderValues.cs │ ├── Microsoft.AspNetCore.Mvc.Formatters.Json.csproj │ ├── MvcJsonLoggerExtensions.cs │ ├── MvcJsonOptions.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── Resources.resx │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.Formatters.Xml │ ├── DelegatingEnumerable.cs │ ├── DelegatingEnumerator.cs │ ├── DependencyInjection │ │ ├── MvcXmlMvcBuilderExtensions.cs │ │ ├── MvcXmlMvcCoreBuilderExtensions.cs │ │ ├── MvcXmlOptionsConfigureCompatibilityOptions.cs │ │ ├── XmlDataContractSerializerMvcOptionsSetup.cs │ │ └── XmlSerializerMvcOptionsSetup.cs │ ├── EnumerableWrapperProvider.cs │ ├── EnumerableWrapperProviderFactory.cs │ ├── FormattingUtilities.cs │ ├── IUnwrappable.cs │ ├── IWrapperProvider.cs │ ├── IWrapperProviderFactory.cs │ ├── LoggerExtensions.cs │ ├── MediaTypeHeaderValues.cs │ ├── Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj │ ├── ModelBinding │ │ └── DataMemberRequiredBindingMetadataProvider.cs │ ├── MvcXmlOptions.cs │ ├── ProblemDetails21Wrapper.cs │ ├── ProblemDetailsWrapper.cs │ ├── ProblemDetailsWrapperProviderFactory.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── Resources.resx │ ├── SerializableErrorWrapper.cs │ ├── SerializableErrorWrapperProvider.cs │ ├── SerializableErrorWrapperProviderFactory.cs │ ├── ValidationProblemDetails21Wrapper.cs │ ├── ValidationProblemDetailsWrapper.cs │ ├── WrapperProviderContext.cs │ ├── WrapperProviderFactoriesExtensions.cs │ ├── XmlDataContractSerializerInputFormatter.cs │ ├── XmlDataContractSerializerOutputFormatter.cs │ ├── XmlSerializerInputFormatter.cs │ ├── XmlSerializerOutputFormatter.cs │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.Localization │ ├── DependencyInjection │ │ ├── MvcLocalizationMvcBuilderExtensions.cs │ │ └── MvcLocalizationMvcCoreBuilderExtensions.cs │ ├── HtmlLocalizer.cs │ ├── HtmlLocalizerExtensions.cs │ ├── HtmlLocalizerFactory.cs │ ├── HtmlLocalizerOfT.cs │ ├── IHtmlLocalizer.cs │ ├── IHtmlLocalizerFactory.cs │ ├── IHtmlLocalizerOfT.cs │ ├── IViewLocalizer.cs │ ├── LocalizedHtmlString.cs │ ├── Microsoft.AspNetCore.Mvc.Localization.csproj │ ├── MvcLocalizationServices.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── ViewLocalizer.cs │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.Razor │ ├── ApplicationParts │ │ ├── CompiledRazorAssemblyApplicationPartFactory.cs │ │ ├── CompiledRazorAssemblyPart.cs │ │ ├── IRazorCompiledItemProvider.cs │ │ └── RazorCompiledItemFeatureProvider.cs │ ├── Compilation │ │ ├── CompiledViewDescriptor.cs │ │ ├── DefaultRazorPageFactoryProvider.cs │ │ ├── IViewCompiler.cs │ │ ├── IViewCompilerProvider.cs │ │ ├── RazorViewAttribute.cs │ │ ├── RazorViewCompiler.cs │ │ ├── RazorViewCompilerProvider.cs │ │ ├── ViewsFeature.cs │ │ └── ViewsFeatureProvider.cs │ ├── DefaultTagHelperFactory.cs │ ├── DependencyInjection │ │ ├── MvcRazorMvcBuilderExtensions.cs │ │ ├── MvcRazorMvcCoreBuilderExtensions.cs │ │ ├── MvcRazorMvcViewOptionsSetup.cs │ │ └── TagHelpersAsServices.cs │ ├── HelperResult.cs │ ├── IModelTypeProvider.cs │ ├── IRazorPage.cs │ ├── IRazorPageActivator.cs │ ├── IRazorPageFactoryProvider.cs │ ├── IRazorViewEngine.cs │ ├── ITagHelperActivator.cs │ ├── ITagHelperFactory.cs │ ├── ITagHelperInitializerOfT.cs │ ├── IViewLocationExpander.cs │ ├── Infrastructure │ │ ├── CryptographyAlgorithms.cs │ │ ├── DefaultFileVersionProvider.cs │ │ ├── DefaultTagHelperActivator.cs │ │ └── TagHelperMemoryCacheProvider.cs │ ├── Internal │ │ └── RazorInjectAttribute.cs │ ├── LanguageViewLocationExpander.cs │ ├── LanguageViewLocationExpanderFormat.cs │ ├── Microsoft.AspNetCore.Mvc.Razor.csproj │ ├── MvcRazorDiagnosticSourceExtensions.cs │ ├── MvcRazorLoggerExtensions.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RazorFileHierarchy.cs │ ├── RazorPage.cs │ ├── RazorPageActivator.cs │ ├── RazorPageBase.cs │ ├── RazorPageFactoryResult.cs │ ├── RazorPageOfT.cs │ ├── RazorPagePropertyActivator.cs │ ├── RazorPageResult.cs │ ├── RazorView.cs │ ├── RazorViewEngine.cs │ ├── RazorViewEngineOptions.cs │ ├── RazorViewEngineOptionsSetup.cs │ ├── RenderAsyncDelegate.cs │ ├── Resources.resx │ ├── ServiceBasedTagHelperActivator.cs │ ├── TagHelperComponentManager.cs │ ├── TagHelperInitializerOfT.cs │ ├── TagHelpers │ │ ├── BodyTagHelper.cs │ │ ├── HeadTagHelper.cs │ │ ├── ITagHelperComponentManager.cs │ │ ├── ITagHelperComponentPropertyActivator.cs │ │ ├── TagHelperComponentPropertyActivator.cs │ │ ├── TagHelperComponentTagHelper.cs │ │ ├── TagHelperFeature.cs │ │ ├── TagHelperFeatureProvider.cs │ │ └── UrlResolutionTagHelper.cs │ ├── ViewLocationCacheItem.cs │ ├── ViewLocationCacheKey.cs │ ├── ViewLocationCacheResult.cs │ ├── ViewLocationExpanderContext.cs │ ├── ViewPath.cs │ ├── baseline.netcore.json │ └── breakingchanges.netcore.json ├── Microsoft.AspNetCore.Mvc.RazorPages │ ├── ApplicationModels │ │ ├── AuthorizationPageApplicationModelProvider.cs │ │ ├── AutoValidateAntiforgeryPageApplicationModelProvider.cs │ │ ├── CompiledPageActionDescriptorBuilder.cs │ │ ├── CompiledPageRouteModelProvider.cs │ │ ├── DefaultPageApplicationModelProvider.cs │ │ ├── IPageApplicationModelConvention.cs │ │ ├── IPageApplicationModelProvider.cs │ │ ├── IPageConvention.cs │ │ ├── IPageHandlerModelConvention.cs │ │ ├── IPageRouteModelConvention.cs │ │ ├── IPageRouteModelProvider.cs │ │ ├── PageApplicationModel.cs │ │ ├── PageApplicationModelProviderContext.cs │ │ ├── PageConventionCollection.cs │ │ ├── PageHandlerModel.cs │ │ ├── PageParameterModel.cs │ │ ├── PagePropertyModel.cs │ │ ├── PageRouteMetadata.cs │ │ ├── PageRouteModel.cs │ │ ├── PageRouteModelFactory.cs │ │ ├── PageRouteModelProviderContext.cs │ │ ├── PageRouteTransformerConvention.cs │ │ ├── ResponseCacheFilterApplicationModelProvider.cs │ │ ├── TempDataFilterPageApplicationModelProvider.cs │ │ └── ViewDataAttributePageApplicationModelProvider.cs │ ├── Builder │ │ └── RazorPagesEndpointRouteBuilderExtensions.cs │ ├── CompiledPageActionDescriptor.cs │ ├── DependencyInjection │ │ ├── MvcRazorPagesMvcBuilderExtensions.cs │ │ ├── MvcRazorPagesMvcCoreBuilderExtensions.cs │ │ ├── PageConventionCollectionExtensions.cs │ │ └── RazorPagesRazorViewEngineOptionsSetup.cs │ ├── Filters │ │ ├── IAsyncPageFilter.cs │ │ ├── IPageFilter.cs │ │ ├── PageHandlerExecutedContext.cs │ │ ├── PageHandlerExecutingContext.cs │ │ ├── PageHandlerExecutionDelegate.cs │ │ ├── PageHandlerPageFilter.cs │ │ ├── PageHandlerResultFIlter.cs │ │ ├── PageHandlerSelectedContext.cs │ │ ├── PageResponseCacheFilter.cs │ │ ├── PageSaveTempDataPropertyFilter.cs │ │ ├── PageSaveTempDataPropertyFilterFactory.cs │ │ ├── PageViewDataAttributeFilter.cs │ │ └── PageViewDataAttributeFilterFactory.cs │ ├── IPageActivatorProvider.cs │ ├── IPageFactoryProvider.cs │ ├── IPageModelActivatorProvider.cs │ ├── IPageModelFactoryProvider.cs │ ├── Infrastructure │ │ ├── DefaultPageActivatorProvider.cs │ │ ├── DefaultPageArgumentBinder.cs │ │ ├── DefaultPageFactoryProvider.cs │ │ ├── DefaultPageHandlerMethodSelector.cs │ │ ├── DefaultPageLoader.cs │ │ ├── DefaultPageModelActivatorProvider.cs │ │ ├── DefaultPageModelFactoryProvider.cs │ │ ├── ExecutorFactory.cs │ │ ├── HandleOptionsRequestsPageFilter.cs │ │ ├── HandlerMethodDescriptor.cs │ │ ├── HandlerParameterDescriptor.cs │ │ ├── IPageHandlerMethodSelector.cs │ │ ├── IPageLoader.cs │ │ ├── PageActionDescriptorProvider.cs │ │ ├── PageActionInvoker.cs │ │ ├── PageActionInvokerCacheEntry.cs │ │ ├── PageActionInvokerProvider.cs │ │ ├── PageArgumentBinder.cs │ │ ├── PageBinderFactory.cs │ │ ├── PageBoundPropertyDescriptor.cs │ │ ├── PageHandlerBinderDelegate.cs │ │ ├── PageHandlerExecutorDelegate.cs │ │ ├── PageModelAttribute.cs │ │ ├── PageResultExecutor.cs │ │ ├── PageViewLocationExpander.cs │ │ ├── RazorPageAdapter.cs │ │ ├── RazorPageAttribute.cs │ │ └── ServiceBasedPageModelActivatorProvider.cs │ ├── Microsoft.AspNetCore.Mvc.RazorPages.csproj │ ├── MvcRazorPagesDiagnosticSourceExtensions.cs │ ├── NonHandlerAttribute.cs │ ├── Page.cs │ ├── PageActionDescriptor.cs │ ├── PageBase.cs │ ├── PageContext.cs │ ├── PageContextAttribute.cs │ ├── PageLoggerExtensions.cs │ ├── PageModel.cs │ ├── PageResult.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RazorPagesOptions.cs │ ├── RazorPagesOptionsConfigureCompatibilityOptions.cs │ ├── Resources.resx │ ├── baseline.netcore.json │ └── breakingchanges.netcore.json ├── Microsoft.AspNetCore.Mvc.TagHelpers │ ├── AnchorTagHelper.cs │ ├── AttributeMatcher.cs │ ├── Cache │ │ ├── CacheTagKey.cs │ │ ├── DistributedCacheTagHelperFormatter.cs │ │ ├── DistributedCacheTagHelperFormattingContext.cs │ │ ├── DistributedCacheTagHelperService.cs │ │ ├── DistributedCacheTagHelperStorage.cs │ │ ├── IDistributedCacheTagHelperFormatter.cs │ │ ├── IDistributedCacheTagHelperService.cs │ │ └── IDistributedCacheTagHelperStorage.cs │ ├── CacheTagHelper.cs │ ├── CacheTagHelperBase.cs │ ├── CacheTagHelperMemoryCacheFactory.cs │ ├── CacheTagHelperOptions.cs │ ├── CurrentValues.cs │ ├── DependencyInjection │ │ └── TagHelperExtensions.cs │ ├── DistributedCacheTagHelper.cs │ ├── EnvironmentTagHelper.cs │ ├── FileProviderGlobbingDirectory.cs │ ├── FileProviderGlobbingFile.cs │ ├── FormActionTagHelper.cs │ ├── FormTagHelper.cs │ ├── GlobbingUrlBuilder.cs │ ├── ImageTagHelper.cs │ ├── InputTagHelper.cs │ ├── JavaScriptResources.cs │ ├── LabelTagHelper.cs │ ├── LinkTagHelper.cs │ ├── Microsoft.AspNetCore.Mvc.TagHelpers.csproj │ ├── ModeAttributesOfT.cs │ ├── MvcTagHelpersLoggerExtensions.cs │ ├── OptionTagHelper.cs │ ├── PartialTagHelper.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RenderAtEndOfFormTagHelper.cs │ ├── Rendering │ │ └── ValidationSummary.cs │ ├── Resources.resx │ ├── ScriptTagHelper.cs │ ├── SelectTagHelper.cs │ ├── TagHelperOutputExtensions.cs │ ├── TextAreaTagHelper.cs │ ├── ValidationMessageTagHelper.cs │ ├── ValidationSummaryTagHelper.cs │ ├── _grunt.readme │ ├── _gruntfile.js │ ├── _package.json │ ├── baseline.netcore.json │ ├── breakingchanges.netcore.json │ ├── compiler │ │ └── resources │ │ │ └── LinkTagHelper_FallbackJavaScript.js │ └── js │ │ └── LinkTagHelper_FallbackJavaScript.js ├── Microsoft.AspNetCore.Mvc.Testing │ ├── Handlers │ │ ├── CookieContainerHandler.cs │ │ └── RedirectHandler.cs │ ├── Microsoft.AspNetCore.Mvc.Testing.csproj │ ├── Microsoft.AspNetCore.Mvc.Testing.targets │ ├── Properties │ │ └── Resources.Designer.cs │ ├── Resources.resx │ ├── WebApplicationFactory.cs │ ├── WebApplicationFactoryClientOptions.cs │ ├── WebApplicationFactoryContentRootAttribute.cs │ └── baseline.netcore.json ├── Microsoft.AspNetCore.Mvc.ViewFeatures │ ├── AntiforgeryExtensions.cs │ ├── AttributeDictionary.cs │ ├── AutoValidateAntiforgeryTokenAttribute.cs │ ├── Buffers │ │ ├── ArrayPoolBufferSource.cs │ │ ├── CharArrayBufferSource.cs │ │ ├── ICharBufferSource.cs │ │ ├── IViewBufferScope.cs │ │ ├── MemoryPoolViewBufferScope.cs │ │ ├── PagedBufferedTextWriter.cs │ │ ├── PagedCharBuffer.cs │ │ ├── ViewBuffer.cs │ │ ├── ViewBufferPage.cs │ │ ├── ViewBufferTextWriter.cs │ │ └── ViewBufferValue.cs │ ├── CachedExpressionCompiler.cs │ ├── Controller.cs │ ├── CookieTempDataProvider.cs │ ├── CookieTempDataProviderOptions.cs │ ├── DefaultDisplayTemplates.cs │ ├── DefaultEditorTemplates.cs │ ├── DefaultHtmlGenerator.cs │ ├── DefaultHtmlGeneratorExtensions.cs │ ├── DefaultValidationHtmlAttributeProvider.cs │ ├── DependencyInjection │ │ ├── MvcViewFeaturesMvcBuilderExtensions.cs │ │ ├── MvcViewFeaturesMvcCoreBuilderExtensions.cs │ │ ├── MvcViewOptionsSetup.cs │ │ └── TempDataMvcOptionsSetup.cs │ ├── DynamicViewData.cs │ ├── ExpressionHelper.cs │ ├── ExpressionMetadataProvider.cs │ ├── ExpressionTextCache.cs │ ├── Filters │ │ ├── AutoValidateAntiforgeryTokenAuthorizationFilter.cs │ │ ├── ControllerSaveTempDataPropertyFilter.cs │ │ ├── ControllerSaveTempDataPropertyFilterFactory.cs │ │ ├── ControllerViewDataAttributeFilter.cs │ │ ├── ControllerViewDataAttributeFilterFactory.cs │ │ ├── ISaveTempDataCallback.cs │ │ ├── IViewDataValuesProviderFeature.cs │ │ ├── LifecycleProperty.cs │ │ ├── SaveTempDataFilter.cs │ │ ├── SaveTempDataPropertyFilterBase.cs │ │ ├── TempDataApplicationModelProvider.cs │ │ ├── TempDataSerializer.cs │ │ ├── ValidateAntiforgeryTokenAuthorizationFilter.cs │ │ ├── ViewDataAttributeApplicationModelProvider.cs │ │ └── ViewDataAttributePropertyProvider.cs │ ├── FormContext.cs │ ├── FormatWeekHelper.cs │ ├── HtmlAttributePropertyHelper.cs │ ├── HtmlHelper.cs │ ├── HtmlHelperOfT.cs │ ├── HtmlHelperOptions.cs │ ├── IAntiforgeryPolicy.cs │ ├── IFileVersionProvider.cs │ ├── IHtmlGenerator.cs │ ├── IModelExpressionProvider.cs │ ├── ITempDataDictionary.cs │ ├── ITempDataDictionaryFactory.cs │ ├── ITempDataProvider.cs │ ├── IViewComponentHelper.cs │ ├── IViewComponentResult.cs │ ├── IViewContextAware.cs │ ├── IgnoreAntiforgeryTokenAttribute.cs │ ├── InputType.cs │ ├── JsonHelper.cs │ ├── MemberExpressionCacheKey.cs │ ├── MemberExpressionCacheKeyComparer.cs │ ├── Microsoft.AspNetCore.Mvc.ViewFeatures.csproj │ ├── ModelExplorer.cs │ ├── ModelExplorerExtensions.cs │ ├── ModelExpression.cs │ ├── ModelExpressionProvider.cs │ ├── ModelMetadataProviderExtensions.cs │ ├── ModelStateDictionaryExtensions.cs │ ├── MvcViewFeaturesDiagnosticSourceExtensions.cs │ ├── MvcViewFeaturesLoggerExtensions.cs │ ├── MvcViewOptions.cs │ ├── MvcViewOptionsConfigureCompatibilityOptions.cs │ ├── NameAndIdProvider.cs │ ├── NullView.cs │ ├── PageRemoteAttribute.cs │ ├── PartialViewResult.cs │ ├── PartialViewResultExecutor.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RemoteAttribute.cs │ ├── RemoteAttributeBase.cs │ ├── Rendering │ │ ├── FormMethod.cs │ │ ├── Html5DateRenderingMode.cs │ │ ├── HtmlHelperDisplayExtensions.cs │ │ ├── HtmlHelperDisplayNameExtensions.cs │ │ ├── HtmlHelperEditorExtensions.cs │ │ ├── HtmlHelperFormExtensions.cs │ │ ├── HtmlHelperInputExtensions.cs │ │ ├── HtmlHelperLabelExtensions.cs │ │ ├── HtmlHelperLinkExtensions.cs │ │ ├── HtmlHelperNameExtensions.cs │ │ ├── HtmlHelperPartialExtensions.cs │ │ ├── HtmlHelperSelectExtensions.cs │ │ ├── HtmlHelperValidationExtensions.cs │ │ ├── HtmlHelperValueExtensions.cs │ │ ├── IHtmlHelper.cs │ │ ├── IHtmlHelperOfT.cs │ │ ├── IJsonHelper.cs │ │ ├── MultiSelectList.cs │ │ ├── MvcForm.cs │ │ ├── SelectList.cs │ │ ├── SelectListGroup.cs │ │ ├── SelectListItem.cs │ │ ├── TagBuilder.cs │ │ ├── TagRenderMode.cs │ │ ├── ViewComponentHelperExtensions.cs │ │ └── ViewContext.cs │ ├── Resources.resx │ ├── SaveTempDataAttribute.cs │ ├── SessionStateTempDataProvider.cs │ ├── SkipStatusCodePagesAttribute.cs │ ├── StringHtmlContent.cs │ ├── TempDataAttribute.cs │ ├── TempDataDictionary.cs │ ├── TempDataDictionaryFactory.cs │ ├── TemplateBuilder.cs │ ├── TemplateInfo.cs │ ├── TemplateRenderer.cs │ ├── TryGetValueDelegate.cs │ ├── TryGetValueProvider.cs │ ├── ValidateAntiForgeryTokenAttribute.cs │ ├── ValidationHelpers.cs │ ├── ValidationHtmlAttributeProvider.cs │ ├── ViewComponent.cs │ ├── ViewComponentAttribute.cs │ ├── ViewComponentResult.cs │ ├── ViewComponentResultExecutor.cs │ ├── ViewComponents │ │ ├── ContentViewComponentResult.cs │ │ ├── DefaultViewComponentActivator.cs │ │ ├── DefaultViewComponentDescriptorCollectionProvider.cs │ │ ├── DefaultViewComponentDescriptorProvider.cs │ │ ├── DefaultViewComponentFactory.cs │ │ ├── DefaultViewComponentHelper.cs │ │ ├── DefaultViewComponentInvoker.cs │ │ ├── DefaultViewComponentInvokerFactory.cs │ │ ├── DefaultViewComponentSelector.cs │ │ ├── HtmlContentViewComponentResult.cs │ │ ├── IViewComponentActivator.cs │ │ ├── IViewComponentDescriptorCollectionProvider.cs │ │ ├── IViewComponentDescriptorProvider.cs │ │ ├── IViewComponentFactory.cs │ │ ├── IViewComponentInvoker.cs │ │ ├── IViewComponentInvokerFactory.cs │ │ ├── IViewComponentSelector.cs │ │ ├── ServiceBasedViewComponentActivator.cs │ │ ├── ViewComponentContext.cs │ │ ├── ViewComponentContextAttribute.cs │ │ ├── ViewComponentConventions.cs │ │ ├── ViewComponentDescriptor.cs │ │ ├── ViewComponentDescriptorCollection.cs │ │ ├── ViewComponentFeature.cs │ │ ├── ViewComponentFeatureProvider.cs │ │ ├── ViewComponentInvokerCache.cs │ │ └── ViewViewComponentResult.cs │ ├── ViewContextAttribute.cs │ ├── ViewDataAttribute.cs │ ├── ViewDataDictionary.cs │ ├── ViewDataDictionaryAttribute.cs │ ├── ViewDataDictionaryControllerPropertyActivator.cs │ ├── ViewDataDictionaryFactory.cs │ ├── ViewDataDictionaryOfT.cs │ ├── ViewDataEvaluator.cs │ ├── ViewDataInfo.cs │ ├── ViewEngines │ │ ├── CompositeViewEngine.cs │ │ ├── ICompositeViewEngine.cs │ │ ├── IView.cs │ │ ├── IViewEngine.cs │ │ └── ViewEngineResult.cs │ ├── ViewExecutor.cs │ ├── ViewResult.cs │ ├── ViewResultExecutor.cs │ ├── baseline.netcore.json │ └── breakingchanges.netcore.json ├── Microsoft.AspNetCore.Mvc │ ├── DesignTimeMvcServiceCollectionProvider.cs │ ├── Microsoft.AspNetCore.Mvc.csproj │ ├── MvcServiceCollectionExtensions.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── baseline.netcore.json ├── Microsoft.Extensions.ApiDescription.Design │ ├── DownloadFile.cs │ ├── GetCurrentItems.cs │ ├── GetFileReferenceMetadata.cs │ ├── GetProjectReferenceMetadata.cs │ ├── GetUriReferenceMetadata.cs │ ├── MetadataSerializer.cs │ ├── Microsoft.Extensions.ApiDescription.Design.csproj │ ├── Microsoft.Extensions.ApiDescription.Design.nuspec │ ├── Properties │ │ └── Resources.Designer.cs │ ├── Resources.resx │ ├── build │ │ ├── Microsoft.Extensions.ApiDescription.Design.props │ │ └── Microsoft.Extensions.ApiDescription.Design.targets │ └── buildMultiTargeting │ │ └── Microsoft.Extensions.ApiDescription.Design.targets └── dotnet-getdocument │ ├── Commands │ └── InvokeCommand.cs │ ├── Exe.cs │ ├── Program.cs │ ├── Project.cs │ ├── ProjectOptions.cs │ ├── Properties │ └── Resources.Designer.cs │ ├── Resources.resx │ ├── ServiceProjectReferenceMetadata.targets │ └── dotnet-getdocument.csproj ├── test ├── Directory.Build.props ├── Microsoft.AspNetCore.Mvc.Abstractions.Test │ ├── Filters │ │ └── FilterContextTest.cs │ ├── Microsoft.AspNetCore.Mvc.Abstractions.Test.csproj │ ├── ModelBinding │ │ ├── BindingInfoTest.cs │ │ ├── ModelMetadataTest.cs │ │ ├── ModelStateDictionaryTest.cs │ │ └── ValueProviderResultTest.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── Microsoft.AspNetCore.Mvc.ApiExplorer.Test │ ├── ApiResponseTypeProviderTest.cs │ ├── DefaultApiDescriptionProviderTest.cs │ └── Microsoft.AspNetCore.Mvc.ApiExplorer.Test.csproj ├── Microsoft.AspNetCore.Mvc.Core.Test │ ├── AcceptedAtActionResultTests.cs │ ├── AcceptedAtRouteResultTests.cs │ ├── AcceptedResultTests.cs │ ├── ActionConstraints │ │ ├── ActionConstraintCacheTest.cs │ │ └── HttpMethodActionConstraintTest.cs │ ├── ActionResultOfTTest.cs │ ├── ApiConventionMethodAttributeTest.cs │ ├── ApiConventionTypeAttributeTest.cs │ ├── ApiExplorer │ │ ├── ApiConventionMatcherTest.cs │ │ └── ApiConventionResultTest.cs │ ├── ApplicationModels │ │ ├── ActionModelTest.cs │ │ ├── ApiBehaviorApplicationModelProviderTest.cs │ │ ├── ApiConventionApplicationModelConventionTest.cs │ │ ├── ApiVisibilityConventionTest.cs │ │ ├── AttributeRouteModelTests.cs │ │ ├── AuthorizationApplicationModelProviderTest.cs │ │ ├── ClientErrorResultFilterConventionTest.cs │ │ ├── ConsumesConstraintForFormFileParameterConventionTest.cs │ │ ├── ControllerActionDescriptorBuilderTest.cs │ │ ├── ControllerActionDescriptorProviderTests.cs │ │ ├── ControllerModelTest.cs │ │ ├── DefaultApplicationModelProviderTest.cs │ │ ├── InferParameterBindingInfoConventionTest.cs │ │ ├── InvalidModelStateFilterConventionTest.cs │ │ ├── ParameterModelTest.cs │ │ ├── PropertyModelTest.cs │ │ └── RouteTokenTransformerConventionTest.cs │ ├── ApplicationParts │ │ ├── ApplicationAssembliesProviderTest.cs │ │ ├── ApplicationPartManagerTest.cs │ │ ├── AssemblyPartTest.cs │ │ └── RelatedAssemblyPartTest.cs │ ├── Authorization │ │ └── AuthorizeFilterTest.cs │ ├── BadRequestObjectResultTests.cs │ ├── BadRequestResultTests.cs │ ├── BindAttributeTest.cs │ ├── Builder │ │ ├── MvcApplicationBuilderExtensionsTest.cs │ │ └── MvcAreaRouteBuilderExtensionsTest.cs │ ├── ChallengeResultTest.cs │ ├── ConflictObjectResultTest.cs │ ├── ConflictResultTest.cs │ ├── ConsumesAttributeTests.cs │ ├── ContentResultTest.cs │ ├── ControllerBaseTest.cs │ ├── Controllers │ │ ├── ControllerActivatorProviderTest.cs │ │ ├── ControllerBinderDelegateProviderTest.cs │ │ ├── ControllerFactoryProviderTest.cs │ │ ├── ControllerFeatureProviderTest.cs │ │ ├── DefaultControllerActivatorTest.cs │ │ ├── DefaultControllerFactoryTest.cs │ │ └── ServiceBasedControllerActivatorTest.cs │ ├── CreatedAtActionResultTests.cs │ ├── CreatedAtRouteResultTests.cs │ ├── CreatedResultTests.cs │ ├── DependencyInjection │ │ ├── ApiBehaviorOptionsSetupTest.cs │ │ ├── ApplicationModelConventionExtensionsTest.cs │ │ ├── MvcBuilderExtensionsTest.cs │ │ ├── MvcCoreBuilderExtensionsTest.cs │ │ └── MvcCoreServiceCollectionExtensionsTest.cs │ ├── EmptyResultTests.cs │ ├── FileContentResultTest.cs │ ├── FileResultTest.cs │ ├── FileStreamResultTest.cs │ ├── Filters │ │ ├── ActionFilterAttributeTests.cs │ │ ├── DisableRequestSizeLimitFilterTest.cs │ │ ├── FilterCollectionTest.cs │ │ ├── FilterFactoryTest.cs │ │ ├── FilterProviderTest.cs │ │ ├── MiddlewareFilterAttributeTest.cs │ │ ├── MiddlewareFilterBuilderTest.cs │ │ ├── MiddlewareFilterConfigurationProviderTest.cs │ │ ├── MiddlewareFilterTest.cs │ │ ├── RequestFormLimitsFilterTest.cs │ │ ├── RequestSizeLimitFilterTest.cs │ │ ├── ResponseCacheFilterExecutorTest.cs │ │ └── ResultFilterAttributeTest.cs │ ├── FlushReportingStream.cs │ ├── ForbidResultTest.cs │ ├── Formatters │ │ ├── AcceptHeaderParserTest.cs │ │ ├── FormatFilterTest.cs │ │ ├── FormatterCollectionTest.cs │ │ ├── FormatterMappingsTest.cs │ │ ├── InputFormatterTest.cs │ │ ├── MediaTypeTest.cs │ │ ├── NoContentFormatterTests.cs │ │ ├── OutputFormatterTests.cs │ │ ├── ResponseContentTypeHelperTest.cs │ │ ├── StreamOutputFormatterTest.cs │ │ ├── StringOutputFormatterTests.cs │ │ ├── TextInputFormatterTest.cs │ │ └── TextOutputFormatterTests.cs │ ├── HttpNotFoundObjectResultTest.cs │ ├── HttpNotFoundResultTests.cs │ ├── HttpOkObjectResultTest.cs │ ├── HttpOkResultTest.cs │ ├── HttpStatusCodeResultTests.cs │ ├── HttpUnauthorizedResultTests.cs │ ├── Infrastructure │ │ ├── ActionMethodExecutorTest.cs │ │ ├── ActionResultTypeMapperTest.cs │ │ ├── ActionSelectorTest.cs │ │ ├── ClientErrorResultFilterTest.cs │ │ ├── CompatibilitySwitchTest.cs │ │ ├── ConfigureCompatibilityOptionsTest.cs │ │ ├── ControllerActionInvokerCacheTest.cs │ │ ├── ControllerActionInvokerTest.cs │ │ ├── DefaultActionDescriptorCollectionProviderTest.cs │ │ ├── DefaultOutputFormatterSelectorTest.cs │ │ ├── ModelStateInvalidFilterTest.cs │ │ ├── MvcOptionsConfigureCompatibilityOptionsTest.cs │ │ ├── NonDisposableStreamTest.cs │ │ ├── NullableCompatibilitySwitchTest.cs │ │ ├── ObjectResultExecutorTest.cs │ │ ├── ParameterDefaultValuesTest.cs │ │ └── ProblemDetalsClientErrorFactoryTest.cs │ ├── LocalRedirectResultTest.cs │ ├── MediaTypeCollectionTest.cs │ ├── Microsoft.AspNetCore.Mvc.Core.Test.csproj │ ├── ModelBinding │ │ ├── Binders │ │ │ ├── ArrayModelBinderProviderTest.cs │ │ │ ├── ArrayModelBinderTest.cs │ │ │ ├── BinderTypeModelBinderProviderTest.cs │ │ │ ├── BinderTypeModelBinderTest.cs │ │ │ ├── BodyModelBinderProviderTest.cs │ │ │ ├── BodyModelBinderTests.cs │ │ │ ├── ByteArrayModelBinderProviderTest.cs │ │ │ ├── ByteArrayModelBinderTests.cs │ │ │ ├── CancellationTokenModelBinderProviderTest.cs │ │ │ ├── CancellationTokenModelBinderTests.cs │ │ │ ├── CollectionModelBinderProviderTest.cs │ │ │ ├── CollectionModelBinderTest.cs │ │ │ ├── ComplexTypeModelBinderProviderTest.cs │ │ │ ├── ComplexTypeModelBinderTest.cs │ │ │ ├── DecimalModelBinderTest.cs │ │ │ ├── DictionaryModelBinderProviderTest.cs │ │ │ ├── DictionaryModelBinderTest.cs │ │ │ ├── DoubleModelBinderTest.cs │ │ │ ├── EnumTypeModelBinderProviderTest.cs │ │ │ ├── EnumTypeModelBinderTest.cs │ │ │ ├── FloatModelBinderTest.cs │ │ │ ├── FloatingPointTypeModelBinderProviderTest.cs │ │ │ ├── FloatingPointTypeModelBinderTestOfT.cs │ │ │ ├── FormCollectionModelBinderProviderTest.cs │ │ │ ├── FormCollectionModelBinderTest.cs │ │ │ ├── FormFileModelBinderProviderTest.cs │ │ │ ├── FormFileModelBinderTest.cs │ │ │ ├── HeaderModelBinderProviderTest.cs │ │ │ ├── HeaderModelBinderTests.cs │ │ │ ├── KeyValuePairModelBinderProviderTest.cs │ │ │ ├── KeyValuePairModelBinderTest.cs │ │ │ ├── ServicesModelBinderProviderTest.cs │ │ │ ├── ServicesModelBinderTest.cs │ │ │ ├── SimpleTypeModelBinderProviderTest.cs │ │ │ └── SimpleTypeModelBinderTest.cs │ │ ├── BindingSourceValueProviderTest.cs │ │ ├── CompositeValueProviderTest.cs │ │ ├── DefaultModelBindingContextTest.cs │ │ ├── ElementalValueProviderTests.cs │ │ ├── EnumerableValueProviderTest.cs │ │ ├── FormValueProviderFactoryTest.cs │ │ ├── FormValueProviderTest.cs │ │ ├── JQueryFormValueProviderFactoryTest.cs │ │ ├── JQueryFormValueProviderTest.cs │ │ ├── JQueryQueryStringValueProviderFactoryTest.cs │ │ ├── JQueryQueryStringValueProviderTest.cs │ │ ├── Metadata │ │ │ ├── BindingSourceMetadataProviderTests.cs │ │ │ ├── BindingSourceTest.cs │ │ │ ├── CompositeBindingSourceTest.cs │ │ │ ├── DefaultBindingMetadataProviderTest.cs │ │ │ ├── DefaultModelMetadataProviderTest.cs │ │ │ ├── DefaultModelMetadataTest.cs │ │ │ ├── DefaultValidationMetadataProviderTest.cs │ │ │ ├── DisplayMetadataTest.cs │ │ │ ├── EmptyCompositeMetadataDetailsProvider.cs │ │ │ ├── ExcludeBindingMetadataProviderTest.cs │ │ │ ├── HasValidatorsValidationMetadataProviderTest.cs │ │ │ ├── MetadataDetailsProviderExtensionsTest.cs │ │ │ ├── ModelAttributesTest.cs │ │ │ ├── ModelBinderAttributeTest.cs │ │ │ └── ModelMetadataProviderExtensionsTest.cs │ │ ├── ModelBinderFactoryTest.cs │ │ ├── ModelBinderProviderExtensionsTest.cs │ │ ├── ModelBindingHelperTest.cs │ │ ├── ModelBindingResultTest.cs │ │ ├── ParameterBinderTest.cs │ │ ├── PrefixContainerTest.cs │ │ ├── QueryStringValueProviderFactoryTest.cs │ │ ├── QueryStringValueProviderTest.cs │ │ ├── ReferenceEqualityComparerTest.cs │ │ ├── RouteValueProviderTests.cs │ │ ├── StubModelBinder.cs │ │ ├── TestModelBinderProviderContext.cs │ │ ├── TestValueProvider.cs │ │ ├── UnsupportedContentTypeFilterTest.cs │ │ ├── Validation │ │ │ ├── ClientValidatorCacheTest.cs │ │ │ ├── CompositeModelValidatorProviderTest.cs │ │ │ ├── DefaultCollectionValidationStrategyTest.cs │ │ │ ├── DefaultComplexObjectValidationStrategyTest.cs │ │ │ ├── DefaultModelValidatorProviderTest.cs │ │ │ ├── DefaultObjectValidatorTests.cs │ │ │ ├── ExplicitIndexCollectionValidationStrategyTest.cs │ │ │ ├── ModelValidatorProviderExtensionsTest.cs │ │ │ ├── ShortFormDictionaryValidationStrategyTest.cs │ │ │ ├── ValidationStackTest.cs │ │ │ └── ValidatorCacheTest.cs │ │ └── ValueProviderFactoryExtensionsTest.cs │ ├── MvcCoreLoggerExtensionsTest.cs │ ├── MvcOptionsTest.cs │ ├── ObjectResultTests.cs │ ├── PhysicalFileResultTest.cs │ ├── ProducesAttributeTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RedirectResultTest.cs │ ├── RedirectToActionResultTest.cs │ ├── RedirectToPageResultTest.cs │ ├── RedirectToRouteResultTest.cs │ ├── RequestFormLimitsAttributeTest.cs │ ├── RequireHttpsAttributeTests.cs │ ├── ResponseCacheAttributeTest.cs │ ├── Routing │ │ ├── AttributeRouteTest.cs │ │ ├── AttributeRoutingTest.cs │ │ ├── ConsumesMatcherPolicyTest.cs │ │ ├── ControllerLinkGeneratorExtensionsTest.cs │ │ ├── EndpointRoutingUrlHelperTest.cs │ │ ├── HttpMethodProviderAttributesTests.cs │ │ ├── KnownRouteValueConstraintTests.cs │ │ ├── MvcEndpointDataSourceTests.cs │ │ ├── MvcRouteHandlerTests.cs │ │ ├── PageLinkGeneratorExtensionsTest.cs │ │ ├── RoutePatternWriterTests.cs │ │ ├── RouteTemplateProviderAttributesTest.cs │ │ ├── UrlHelperBaseTest.cs │ │ ├── UrlHelperExtensionsTest.cs │ │ ├── UrlHelperTest.cs │ │ ├── UrlHelperTestBase.cs │ │ └── ViewEnginePathTest.cs │ ├── SerializableErrorTests.cs │ ├── ServiceFilterAttributeTest.cs │ ├── SignInResultTest.cs │ ├── SignOutResultTest.cs │ ├── TestApplicationPart.cs │ ├── TestFeatureProvider.cs │ ├── TypeFilterAttributeTest.cs │ ├── UnprocessableEntityObjectResultTests.cs │ ├── UnprocessableEntityResultTests.cs │ ├── ValidationProblemDetailsTest.cs │ ├── VirtualFileResultTest.cs │ └── xunit.runner.json ├── Microsoft.AspNetCore.Mvc.Core.TestCommon │ ├── ActivityReplacer.cs │ ├── CommonFilterTest.cs │ ├── CommonResourceInvokerTest.cs │ ├── LinkBuilder.cs │ ├── MediaTypeAssert.cs │ ├── Microsoft.AspNetCore.Mvc.Core.TestCommon.csproj │ ├── NonSeekableReadableStream.cs │ ├── RoutingResult.cs │ ├── SimpleValueProvider.cs │ ├── SimpleValueProviderFactory.cs │ ├── TestClientModelValidatorProvider.cs │ ├── TestHttpRequestStreamReaderFactory.cs │ ├── TestHttpResponseStreamWriterFactory.cs │ ├── TestModelBinderFactory.cs │ ├── TestModelMetadataProvider.cs │ ├── TestModelValidatorProvider.cs │ └── ValidationAttributeUtil.cs ├── Microsoft.AspNetCore.Mvc.Cors.Test │ ├── CorsApplicationModelProviderTest.cs │ ├── CorsAuthorizationFilterTest.cs │ ├── CorsHttpMethodActionConstraintTest.cs │ ├── DisableCorsAuthorizationFilterTest.cs │ └── Microsoft.AspNetCore.Mvc.Cors.Test.csproj ├── Microsoft.AspNetCore.Mvc.DataAnnotations.Test │ ├── CompareAttributeAdapterTest.cs │ ├── DataAnnotationsClientModelValidatorProviderTest.cs │ ├── DataAnnotationsMetadataProviderTest.cs │ ├── DataAnnotationsModelValidatorProviderTest.cs │ ├── DataAnnotationsModelValidatorTest.cs │ ├── DataMemberRequiredBindingMetadataProviderTest.cs │ ├── DataTypeClientModelValidatorProviderTest.cs │ ├── DefaultModelClientValidatorProviderTest.cs │ ├── FileExtensionsAttributeAdapterTest.cs │ ├── MaxLengthAttributeAdapterTest.cs │ ├── Microsoft.AspNetCore.Mvc.DataAnnotations.Test.csproj │ ├── MinLengthAttributeAdapterTest.cs │ ├── ModelMetadataProviderTest.cs │ ├── ModelValidationResultComparer.cs │ ├── MvcDataAnnotationsMvcOptionsSetup.cs │ ├── NumericClientModelValidatorTest.cs │ ├── Properties │ │ └── Resources.Designer.cs │ ├── RangeAttributeAdapterTest.cs │ ├── RequiredAttributeAdapterTest.cs │ ├── Resources.resx │ ├── StringLengthAttributeAdapterTest.cs │ ├── TestModelNameProvider.cs │ ├── TestResources.cs │ ├── ValidatableObjectAdapterTest.cs │ ├── ValidationAttributeAdapterOfTAttributeTest.cs │ └── ValidationAttributeAdapterProviderTest.cs ├── Microsoft.AspNetCore.Mvc.Formatters.Json.Test │ ├── JsonInputFormatterTest.cs │ ├── JsonOutputFormatterTests.cs │ ├── JsonPatchInputFormatterTest.cs │ ├── JsonPatchOperationsArrayProviderTests.cs │ ├── JsonResultExecutorTest.cs │ ├── JsonResultTest.cs │ ├── Microsoft.AspNetCore.Mvc.Formatters.Json.Test.csproj │ └── MvcJsonOptionsExtensionsTests.cs ├── Microsoft.AspNetCore.Mvc.Formatters.Xml.Test │ ├── DelegatingEnumerableTest.cs │ ├── DelegatingEnumeratorTest.cs │ ├── DependencyInjection │ │ ├── XmlDataContractSerializerMvcOptionsSetupTest.cs │ │ └── XmlSerializerMvcOptionsSetupTest.cs │ ├── EnumerableWrapperProviderFactoryTest.cs │ ├── EnumerableWrapperProviderTest.cs │ ├── FlushReportingStream.cs │ ├── Microsoft.AspNetCore.Mvc.Formatters.Xml.Test.csproj │ ├── Models │ │ ├── Person.cs │ │ └── PersonList.cs │ ├── PersonWrapper.cs │ ├── PersonWrapperProvider.cs │ ├── PersonWrapperProviderFactory.cs │ ├── ProblemDetails21WrapperTest.cs │ ├── ProblemDetailsWrapperProviderFactoryTest.cs │ ├── ProblemDetailsWrapperTest.cs │ ├── SerializableErrorWrapperProviderTest.cs │ ├── SerializableErrorWrapperTests.cs │ ├── SerializableWrapperProviderFactoryTest.cs │ ├── ValidationProblemDetails21WrapperTest.cs │ ├── ValidationProblemDetailsWrapperTest.cs │ ├── XmlAssert.cs │ ├── XmlAssertTest.cs │ ├── XmlDataContractSerializerInputFormatterTest.cs │ ├── XmlDataContractSerializerOutputFormatterTest.cs │ ├── XmlSerializerInputFormatterTest.cs │ └── XmlSerializerOutputFormatterTest.cs ├── Microsoft.AspNetCore.Mvc.FunctionalTests │ ├── AntiforgeryAuthTests.cs │ ├── AntiforgeryTestHelper.cs │ ├── AntiforgeryTests.cs │ ├── ApiBehaviorTest.cs │ ├── ApiExplorerTest.cs │ ├── ApplicationModelTest.cs │ ├── AsyncActionsTests.cs │ ├── BasicApiTest.cs │ ├── BasicTests.cs │ ├── BasicViewsTest.cs │ ├── CompilationOptionsTests.cs │ ├── ConsumesAttributeEndpointRoutingTests.cs │ ├── ConsumesAttributeTests.cs │ ├── ConsumesAttributeTestsBase.cs │ ├── ContentNegotiationTest.cs │ ├── ControllerFromServicesTests.cs │ ├── CorsEndpointRoutingTests.cs │ ├── CorsTests.cs │ ├── CorsTestsBase.cs │ ├── DataAnnotationTests.cs │ ├── DefaultValuesTest.cs │ ├── DirectivesTest.cs │ ├── DoNotRespectBrowserAcceptHeaderTests.cs │ ├── ErrorPageTests.cs │ ├── ExceptionInfo.cs │ ├── FileResultTests.cs │ ├── FiltersTest.cs │ ├── FlushPointTest.cs │ ├── FormFileUploadTest.cs │ ├── GlobalAuthorizationFilterTest.cs │ ├── HtmlGenerationTest.cs │ ├── HtmlGenerationWithCultureTest.cs │ ├── HtmlHelperOptionsTest.cs │ ├── Infrastructure │ │ ├── BasicApiFixture.cs │ │ ├── BasicViewsFixture.cs │ │ ├── CultureReplacerMiddleware.cs │ │ ├── CultureReplacerStartupFilter.cs │ │ ├── HttpClientExtensions.cs │ │ ├── IHtmlDocumentExtensions.cs │ │ ├── MvcEncodedTestFixtureOfT.cs │ │ ├── MvcTestFixture.cs │ │ ├── MvcWebApplicationBuilderExtensions.cs │ │ ├── ResourceFile.cs │ │ └── TestCulture.cs │ ├── InputFormatterTests.cs │ ├── InputObjectValidationTests.cs │ ├── InputValidationTests.cs │ ├── JsonOutputFormatterTests.cs │ ├── JsonPatchInputFormatterTest.cs │ ├── JsonResultTest.cs │ ├── LinkGenerationTests.cs │ ├── LinkGeneratorTest.cs │ ├── Microsoft.AspNetCore.Mvc.FunctionalTests.csproj │ ├── MvcSandboxTest.cs │ ├── OutputFormatterTest.cs │ ├── RazorBuildTest.cs │ ├── RazorPageModelTest.cs │ ├── RazorPagesNamespaceTest.cs │ ├── RazorPagesTest.cs │ ├── RazorPagesViewSearchTest.cs │ ├── RazorPagesWithBasePathTest.cs │ ├── RazorViewLocationSpecificationTest.cs │ ├── RemoteAttributeValidationTest.cs │ ├── RequestFormLimitsTest.cs │ ├── RequestServicesEndpointRoutingTest.cs │ ├── RequestServicesTest.cs │ ├── RequestServicesTestBase.cs │ ├── RequestSizeLimitTest.cs │ ├── RespectBrowserAcceptHeaderTests.cs │ ├── RoutingEndpointRoutingTest.cs │ ├── RoutingEndpointRoutingWithoutRazorPagesTests.cs │ ├── RoutingTests.cs │ ├── RoutingTestsBase.cs │ ├── RoutingWithoutRazorPagesTests.cs │ ├── RoutingWithoutRazorPagesTestsBase.cs │ ├── SerializableErrorTests.cs │ ├── SimpleTests.cs │ ├── StreamOutputFormatterTest.cs │ ├── TagHelperComponentTagHelperTest.cs │ ├── TagHelpersFromServicesTest.cs │ ├── TagHelpersTest.cs │ ├── TempDataInCookiesTest.cs │ ├── TempDataInCookiesUsingCookieConsentTest.cs │ ├── TempDataInSessionTest.cs │ ├── TempDataPropertyTest.cs │ ├── TempDataTestBase.cs │ ├── TestingInfrastructureInheritanceTests.cs │ ├── TestingInfrastructureTests.cs │ ├── UrlResolutionTest.cs │ ├── VersioningEndpointRoutingTests.cs │ ├── VersioningTests.cs │ ├── VersioningTestsBase.cs │ ├── ViewComponentFromServicesTests.cs │ ├── ViewEngineTests.cs │ ├── XmlDataContractSerializerFormattersWrappingTest.cs │ ├── XmlDataContractSerializerInputFormatterTest.cs │ ├── XmlOutputFormatterTests.cs │ ├── XmlSerializerFormattersWrappingTest.cs │ ├── XmlSerializerInputFormatterTests.cs │ ├── compiler │ │ └── resources │ │ │ ├── BasicWebSite.Area1.RemoteAttribute_Home.Create.html │ │ │ ├── BasicWebSite.Home.ActionLinkView.html │ │ │ ├── BasicWebSite.Home.CSharp7View.html │ │ │ ├── BasicWebSite.Home.Index.html │ │ │ ├── BasicWebSite.Home.PlainView.html │ │ │ ├── BasicWebSite.Home.ViewWithPrefixedAttributeValue.html │ │ │ ├── BasicWebSite.PassThrough.Index.html │ │ │ ├── BasicWebSite.Root.RemoteAttribute_Home.Create.html │ │ │ ├── CacheTagHelper_CanCachePortionsOfViewsPartialViewsAndViewComponents.Assert1.txt │ │ │ ├── CacheTagHelper_CanCachePortionsOfViewsPartialViewsAndViewComponents.Assert2.txt │ │ │ ├── CacheTagHelper_CanCachePortionsOfViewsPartialViewsAndViewComponents.Assert3.txt │ │ │ ├── HtmlGenerationWebSite.CheckViewData.AtViewModel.html │ │ │ ├── HtmlGenerationWebSite.CheckViewData.NullViewModel.html │ │ │ ├── HtmlGenerationWebSite.CheckViewData.ViewModel.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Customer.Index.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.AttributesWithBooleanValues.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.AttributesWithBooleanValues.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.CreateWarehouse.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Customer.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.EditWarehouse.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.EditWarehouse.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.EmployeeList.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Environment.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Form.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Image.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Index.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Index.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Index21Compat.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Input.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Link.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Link.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Order.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Order.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.OrderUsingHtmlHelpers.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.OrderUsingHtmlHelpers.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.PartialTagHelperWithoutModel.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Product.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Product.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.ProductList.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.ProductListUsingTagHelpers.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.ProductListUsingTagHelpersWithNullModel.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Script.Encoded.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Script.html │ │ │ ├── HtmlGenerationWebSite.HtmlGeneration_Home.Warehouse.html │ │ │ ├── ModelBindingWebSite.Vehicle.Details.html │ │ │ ├── ModelBindingWebSite.Vehicle.Edit.Invalid.html │ │ │ ├── ModelBindingWebSite.Vehicle.Edit.html │ │ │ ├── RazorPagesWebSite.SimpleForms.html │ │ │ ├── RazorWebSite.AddTagHelperComponent.AddComponent.html │ │ │ ├── RazorWebSite.TagHelperComponent.Body.html │ │ │ ├── RazorWebSite.TagHelperComponent.Head.html │ │ │ ├── RazorWebSite.UrlResolution.Index.Encoded.html │ │ │ ├── RazorWebSite.UrlResolution.Index.html │ │ │ ├── TagHelpersWebSite.Employee.Create.Invalid.html │ │ │ ├── TagHelpersWebSite.Employee.Create.html │ │ │ ├── TagHelpersWebSite.Employee.Details.AfterCreate.html │ │ │ ├── TagHelpersWebSite.Employee.DuplicateAntiforgeryTokenRegistration.html │ │ │ ├── TagHelpersWebSite.Encoders.CustomEncoder.html │ │ │ ├── TagHelpersWebSite.Encoders.Index.html │ │ │ ├── TagHelpersWebSite.Encoders.NullEncoder.html │ │ │ ├── TagHelpersWebSite.Encoders.ThreeEncoders.html │ │ │ ├── TagHelpersWebSite.Encoders.TwoEncoders.html │ │ │ ├── TagHelpersWebSite.Home.About.html │ │ │ ├── TagHelpersWebSite.Home.Help.html │ │ │ ├── TagHelpersWebSite.Home.Index.html │ │ │ ├── TagHelpersWebSite.Home.UnboundDynamicAttributes.Encoded.html │ │ │ ├── TagHelpersWebSite.Home.UnboundDynamicAttributes.html │ │ │ ├── TagHelpersWebSite.Home.ViewComponentTagHelpers.html │ │ │ ├── UpdateDealerVehicle_PopulatesPropertyErrorsInViews.txt │ │ │ ├── UpdateDealerVehicle_PopulatesValidationSummary.txt │ │ │ ├── UpdateDealerVehicle_UpdateSuccessful.txt │ │ │ └── ViewEngineController.ViewWithPaths.txt │ └── xunit.runner.json ├── Microsoft.AspNetCore.Mvc.IntegrationTests │ ├── ActionParametersIntegrationTest.cs │ ├── ArrayModelBinderIntegrationTest.cs │ ├── AuthorizeFilterIntegrationTest.cs │ ├── BindPropertyIntegrationTest.cs │ ├── BinderTypeBasedModelBinderIntegrationTest.cs │ ├── BindingSourceMetadataProviderIntegrationTest.cs │ ├── BodyValidationIntegrationTests.cs │ ├── ByteArrayModelBinderIntegrationTest.cs │ ├── CancellationTokenModelBinderIntegrationTest.cs │ ├── CollectionModelBinderIntegrationTest.cs │ ├── CompanyNameAttribute.cs │ ├── ComplexTypeModelBinderIntegrationTest.cs │ ├── DictionaryModelBinderIntegrationTest.cs │ ├── ExcludeBindingMetadataProviderIntegrationTest.cs │ ├── FormCollectionModelBindingIntegrationTest.cs │ ├── FormFileModelBindingIntegrationTest.cs │ ├── GenericModelBinderIntegrationTest.cs │ ├── HasValidatorsValidationMetadataProviderIntegrationTest.cs │ ├── HeaderModelBinderIntegrationTest.cs │ ├── JQueryFormatModelBindingIntegrationTest.cs │ ├── KeyValuePairModelBinderIntegrationTest.cs │ ├── Microsoft.AspNetCore.Mvc.IntegrationTests.csproj │ ├── ModelBindingTestContext.cs │ ├── ModelBindingTestHelper.cs │ ├── ModelPrefixSelectionIntegrationTest.cs │ ├── Models │ │ ├── Product.cs │ │ ├── ProductDetails.cs │ │ ├── ProductViewModel.cs │ │ ├── Software.cs │ │ └── SoftwareViewModel.cs │ ├── ParameterBinderExtensions.cs │ ├── ProductValidatorAttribute.cs │ ├── ServicesModelBinderIntegrationTest.cs │ ├── SimpleTypeModelBinderIntegrationTest.cs │ ├── TestMvcOptions.cs │ ├── TryUpdateModelIntegrationTest.cs │ ├── TryValidateModelIntegrationTest.cs │ └── ValidationIntegrationTests.cs ├── Microsoft.AspNetCore.Mvc.Localization.Test │ ├── HtmlLocalizerOfTTest.cs │ ├── HtmlLocalizerTest.cs │ ├── Microsoft.AspNetCore.Mvc.Localization.Test.csproj │ ├── MvcLocalizationMvcBuilderExtensionsTest.cs │ ├── MvcLocalizationMvcCoreBuilderExtensionsTest.cs │ ├── MvcLocalizationServiceCollectionExtensionsTest.cs │ ├── TestStringLocalizer.cs │ └── ViewLocalizerTest.cs ├── Microsoft.AspNetCore.Mvc.Razor.Test │ ├── ApplicationParts │ │ └── RazorCompiledItemFeatureProviderTest.cs │ ├── Compilation │ │ ├── DefaultRazorPageFactoryProviderTest.cs │ │ ├── RazorPagePropertyActivatorTest.cs │ │ ├── RazorViewCompilerTest.cs │ │ └── ViewsFeatureProviderTest.cs │ ├── DefaultTagHelperFactoryTest.cs │ ├── DependencyInjection │ │ ├── MvcRazorMvcBuilderExtensionsTest.cs │ │ └── MvcRazorMvcCoreBuilderExtensionsTest.cs │ ├── Infrastructure │ │ └── DefaultTagHelperActivatorTest.cs │ ├── LanguageViewLocationExpanderTest.cs │ ├── Microsoft.AspNetCore.Mvc.Razor.Test.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RazorFileHierarchyTest.cs │ ├── RazorPageActivatorTest.cs │ ├── RazorPageCreateModelExpressionTest.cs │ ├── RazorPageCreateTagHelperTest.cs │ ├── RazorPageTest.cs │ ├── RazorViewEngineOptionsTest.cs │ ├── RazorViewEngineTest.cs │ ├── RazorViewTest.cs │ ├── TagHelpers │ │ ├── TagHelperComponentPropertyActivatorTest.cs │ │ ├── TagHelperComponentTagHelperTest.cs │ │ └── UrlResolutionTagHelperTest.cs │ ├── TestApplicationPart.cs │ ├── ViewPathTest.cs │ └── xunit.runner.json ├── Microsoft.AspNetCore.Mvc.RazorPages.Test │ ├── ApplicationModels │ │ ├── AuthorizationPageApplicationModelProviderTest.cs │ │ ├── CompiledPageActionDescriptorBuilderTest.cs │ │ ├── CompiledPageRouteModelProviderTest.cs │ │ ├── DefaultPageApplicationModelProviderTest.cs │ │ ├── PageConventionCollectionTest.cs │ │ ├── PageRouteModelFactoryTest.cs │ │ ├── PageRouteTransformerConventionTest.cs │ │ ├── ResponseCacheFilterApplicationModelProviderTest.cs │ │ ├── TempDataFilterPageApplicationModelProviderTest.cs │ │ └── ViewDataAttributePageApplicationModelProviderTest.cs │ ├── DependencyInjection │ │ ├── MvcRazorPagesMvcBuilderExtensionsTest.cs │ │ ├── PageConventionCollectionExtensionsTest.cs │ │ └── RazorPagesRazorViewEngineOptionsSetupTest.cs │ ├── Filters │ │ ├── AutoValidateAntiforgeryPageApplicationModelProviderTest.cs │ │ ├── PageHandlerResultFilterTest.cs │ │ ├── PageSaveTempDataPropertyFilterFactoryTest.cs │ │ ├── PageSaveTempDataPropertyFilterTest.cs │ │ ├── PageViewDataAttributeFilterFactoryTest.cs │ │ └── PageViewDataAttributeFilterTest.cs │ ├── Infrastructure │ │ ├── DefaultPageActivatorProviderTest.cs │ │ ├── DefaultPageFactoryProviderTest.cs │ │ ├── DefaultPageHandlerMethodSelectorTest.cs │ │ ├── DefaultPageLoaderTest.cs │ │ ├── DefaultPageModelActivatorProviderTest.cs │ │ ├── DefaultPageModelFactoryProviderTest.cs │ │ ├── DisallowOptionsRequestsPageFilterTest.cs │ │ ├── ExecutorFactoryTest.cs │ │ ├── PageActionDescriptorProviderTest.cs │ │ ├── PageActionInvokerProviderTest.cs │ │ ├── PageActionInvokerTest.cs │ │ ├── PageBinderFactoryTest.cs │ │ ├── PageHandlerPageFilterTest.cs │ │ ├── PageViewLocationExpanderTest.cs │ │ └── ServiceBasedPageModelActivatorProviderTest.cs │ ├── Microsoft.AspNetCore.Mvc.RazorPages.Test.csproj │ ├── PageModelTest.cs │ └── PageTest.cs ├── Microsoft.AspNetCore.Mvc.TagHelpers.Test │ ├── AnchorTagHelperTest.cs │ ├── AttributeMatcherTest.cs │ ├── CacheTagHelperTest.cs │ ├── CacheTagKeyTest.cs │ ├── DefaultFileVersionProviderTest.cs │ ├── DefaultTagHelperActivatorTest.cs │ ├── DistributedCacheTagHelperTest.cs │ ├── EnvironmentTagHelperTest.cs │ ├── FormActionTagHelperTest.cs │ ├── FormTagHelperTest.cs │ ├── GlobbingUrlBuilderTest.cs │ ├── ImageTagHelperTest.cs │ ├── InputTagHelperTest.cs │ ├── JavaScriptResourcesTest.cs │ ├── LabelTagHelperTest.cs │ ├── LinkTagHelperTest.cs │ ├── Microsoft.AspNetCore.Mvc.TagHelpers.Test.csproj │ ├── OptionTagHelperTest.cs │ ├── PartialTagHelperTest.cs │ ├── RenderAtEndOfFormTagHelperTest.cs │ ├── ScriptTagHelperTest.cs │ ├── SelectTagHelperTest.cs │ ├── TagHelperLogger.cs │ ├── TagHelperOutputExtensionsTest.cs │ ├── TestableHtmlGenerator.cs │ ├── TextAreaTagHelperTest.cs │ ├── ValidationMessageTagHelperTest.cs │ └── ValidationSummaryTagHelperTest.cs ├── Microsoft.AspNetCore.Mvc.Test │ ├── ApplicationParts │ │ └── ApplicationAssembliesProviderTest.cs │ ├── IntegrationTest │ │ └── CompatibilitySwitchIntegrationTest.cs │ ├── JsonPatchExtensionsTest.cs │ ├── Microsoft.AspNetCore.Mvc.Test.csproj │ ├── MvcOptionsSetupTest.cs │ ├── MvcServiceCollectionExtensionsTest.cs │ ├── Routing │ │ └── ActionConstraintMatcherPolicyTest.cs │ └── xunit.runner.json ├── Microsoft.AspNetCore.Mvc.TestDiagnosticListener │ ├── IProxyActionContext.cs │ ├── IProxyActionDescriptor.cs │ ├── IProxyActionResult.cs │ ├── IProxyHttpContext.cs │ ├── IProxyPage.cs │ ├── IProxyRouteData.cs │ ├── IProxyView.cs │ ├── IProxyViewComponentContext.cs │ ├── IProxyViewComponentResult.cs │ ├── IProxyViewContext.cs │ ├── Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj │ └── TestDiagnosticListener.cs ├── Microsoft.AspNetCore.Mvc.ViewFeatures.Test │ ├── AntiforgeryExtensionsTest.cs │ ├── AttributeDictionaryTest.cs │ ├── Buffers │ │ ├── PagedBufferedTextWriterTest.cs │ │ ├── PagedCharBufferTest.cs │ │ ├── ViewBufferTest.cs │ │ └── ViewBufferTextWriterTest.cs │ ├── CachedExpressionCompilerTest.cs │ ├── ControllerTest.cs │ ├── ControllerUnitTestabilityTests.cs │ ├── CookieTempDataProviderTest.cs │ ├── DefaultDisplayTemplatesTest.cs │ ├── DefaultEditorTemplatesTest.cs │ ├── DefaultHtmlGeneratorTest.cs │ ├── DefaultValidationHtmlAttributeProviderTest.cs │ ├── DependencyInjection │ │ ├── MvcViewFeaturesMvcBuilderExtensionsTest.cs │ │ └── MvcViewFeaturesMvcCoreBuilderExtensionsTest.cs │ ├── ExpressionHelperTest.cs │ ├── ExpressionMetadataProviderTest.cs │ ├── Filters │ │ ├── AutoValidateAntiforgeryTokenAuthorizationFilterTest.cs │ │ ├── ControllerSaveTempDataPropertyFilterFactoryTest.cs │ │ ├── ControllerSaveTempDataPropertyFilterTest.cs │ │ ├── ControllerViewDataAttributeFilterFactoryTest.cs │ │ ├── ControllerViewDataAttributeFilterTest.cs │ │ ├── LifecyclePropertyTest.cs │ │ ├── SaveTempDataFilterTest.cs │ │ ├── TempDataApplicationModelProviderTest.cs │ │ ├── TempDataSerializerTest.cs │ │ ├── ValidateAntiforgeryTokenAuthorizationFilterTest.cs │ │ ├── ViewDataAttributeApplicationModelProviderTest.cs │ │ └── ViewDataAttributePropertyProviderTest.cs │ ├── FormatWeekHelperTest.cs │ ├── HtmlAttributePropertyHelperTest.cs │ ├── JsonHelperTest.cs │ ├── MemberExpressionCacheKeyComparerTest.cs │ ├── MemberExpressionCacheKeyTest.cs │ ├── Microsoft.AspNetCore.Mvc.ViewFeatures.Test.csproj │ ├── Model │ │ ├── Constants.cs │ │ └── Model.cs │ ├── ModelExplorerExtensionsTest.cs │ ├── ModelExplorerTest.cs │ ├── ModelStateDictionaryExtensionsTest.cs │ ├── PageRemoteAttributeTest.cs │ ├── PartialViewResultExecutorTest.cs │ ├── PartialViewResultTest.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── RemoteAttributeBaseTest.cs │ ├── RemoteAttributeTest.cs │ ├── Rendering │ │ ├── DefaultTemplatesUtilities.cs │ │ ├── HtmlHelperCheckboxTest.cs │ │ ├── HtmlHelperDisplayExtensionsTest.cs │ │ ├── HtmlHelperDisplayNameExtensionsTest.cs │ │ ├── HtmlHelperDisplayTextTest.cs │ │ ├── HtmlHelperDropDownListExtensionsTest.cs │ │ ├── HtmlHelperEditorExtensionsTest.cs │ │ ├── HtmlHelperFormExtensionsTest.cs │ │ ├── HtmlHelperFormTest.cs │ │ ├── HtmlHelperHiddenTest.cs │ │ ├── HtmlHelperLabelExtensionsTest.cs │ │ ├── HtmlHelperLinkGenerationTest.cs │ │ ├── HtmlHelperListBoxExtensionsTest.cs │ │ ├── HtmlHelperNameExtensionsTest.cs │ │ ├── HtmlHelperPartialExtensionsTest.cs │ │ ├── HtmlHelperPasswordTest.cs │ │ ├── HtmlHelperRadioButtonExtensionsTest.cs │ │ ├── HtmlHelperSelectTest.cs │ │ ├── HtmlHelperTest.cs │ │ ├── HtmlHelperTextAreaExtensionsTest.cs │ │ ├── HtmlHelperTextAreaTest.cs │ │ ├── HtmlHelperTextBoxExtensionsTest.cs │ │ ├── HtmlHelperTextBoxTest.cs │ │ ├── HtmlHelperValidationMessageExtensionsTest.cs │ │ ├── HtmlHelperValidationSummaryTest.cs │ │ ├── HtmlHelperValueExtensionsTest.cs │ │ ├── HtmlHelperValueTest.cs │ │ ├── HtmlStringTest.cs │ │ ├── TagBuilderTest.cs │ │ ├── TestResources.cs │ │ └── ViewContextTests.cs │ ├── Resources.resx │ ├── SessionStateTempDataProviderTest.cs │ ├── SkipStatusCodePagesAttributeTest.cs │ ├── StringHtmlContentTest.cs │ ├── TempDataDictionaryFactoryTest.cs │ ├── TempDataDictionaryTest.cs │ ├── TemplateRendererTest.cs │ ├── TestApplicationPart.cs │ ├── ViewComponentResultTest.cs │ ├── ViewComponentTests.cs │ ├── ViewComponents │ │ ├── ContentViewComponentResultTest.cs │ │ ├── DefaultViewComponentActivatorTests.cs │ │ ├── DefaultViewComponentDescriptorProviderTest.cs │ │ ├── DefaultViewComponentFactoryTest.cs │ │ ├── DefaultViewComponentHelperTest.cs │ │ ├── DefaultViewComponentSelectorTest.cs │ │ ├── HtmlContentViewComponentResultTest.cs │ │ ├── ViewComponentContextTest.cs │ │ ├── ViewComponentConventionsTest.cs │ │ ├── ViewComponentFeatureProviderTest.cs │ │ └── ViewViewComponentResultTest.cs │ ├── ViewDataDictionaryOfTModelTest.cs │ ├── ViewDataDictionaryTest.cs │ ├── ViewDataOfTTest.cs │ ├── ViewEngines │ │ └── CompositeViewEngineTest.cs │ ├── ViewExecutorTest.cs │ ├── ViewResultExecutorTest.cs │ └── ViewResultTest.cs ├── Microsoft.AspNetCore.Mvc.Views.TestCommon │ ├── HtmlContentUtilities.cs │ ├── HtmlGeneratorUtilities.cs │ ├── Microsoft.AspNetCore.Mvc.Views.TestCommon.csproj │ ├── TestDirectoryContent.cs │ ├── TestDirectoryFileInfo.cs │ ├── TestFileChangeToken.cs │ ├── TestFileInfo.cs │ ├── TestFileProvider.cs │ ├── TestRazorCompiledItem.cs │ └── TestViewBufferScope.cs ├── Mvc.Analyzers.Test │ ├── AttributesShouldNotBeAppliedToPageModelAnalyzerTest.cs │ ├── AvoidHtmlPartialAnalyzerTest.cs │ ├── CodeAnalysisExtensionsTest.cs │ ├── Infrastructure │ │ ├── MvcDiagnosticAnalyzerRunner.cs │ │ └── MvcTestSource.cs │ ├── Mvc.Analyzers.Test.csproj │ ├── TestFiles │ │ ├── AttributesShouldNotBeAppliedToPageModelAnalyzerTest │ │ │ ├── DiagnosticsAreReturned_IfAllowAnonymousIsAppliedToPageHandlerMethod.cs │ │ │ ├── DiagnosticsAreReturned_IfAttributeIsAppliedToBaseType.cs │ │ │ ├── DiagnosticsAreReturned_IfAuthorizeAttributeIsAppliedToPageHandlerMethod.cs │ │ │ ├── DiagnosticsAreReturned_IfFiltersAreAppliedToPageHandlerMethod.cs │ │ │ ├── DiagnosticsAreReturned_IfFiltersAreAppliedToPageHandlerMethodDerivingFromCustomModel.cs │ │ │ ├── DiagnosticsAreReturned_IfFiltersAreAppliedToPageHandlerMethodForTypeWithPageModelAttribute.cs │ │ │ ├── DiagnosticsAreReturned_IfRouteAttribute_IsAppliedToPageModel.cs │ │ │ ├── DiagnosticsAreReturned_IfRouteAttributesAreAppliedToPageHandlerMethod.cs │ │ │ ├── NoDiagnosticsAreReturned_ForControllerActions.cs │ │ │ ├── NoDiagnosticsAreReturned_ForControllerBaseActions.cs │ │ │ ├── NoDiagnosticsAreReturned_ForNonHandlerMethodsWithAttributes.cs │ │ │ ├── NoDiagnosticsAreReturned_ForPageHandlersWithNonFilterAttributes.cs │ │ │ ├── NoDiagnosticsAreReturned_IfAllowAnonymousIsAppliedToPageModel.cs │ │ │ ├── NoDiagnosticsAreReturned_IfAuthorizeAttributeIsAppliedToPageModel.cs │ │ │ └── NoDiagnosticsAreReturned_IfFiltersAreAppliedToPageModel.cs │ │ ├── AvoidHtmlPartialAnalyzerTest │ │ │ ├── DiagnosticsAreReturned_ForUseOfHtmlPartial.cs │ │ │ ├── DiagnosticsAreReturned_ForUseOfHtmlPartial_InSections.cs │ │ │ ├── DiagnosticsAreReturned_ForUseOfHtmlPartial_WithAdditionalParameters.cs │ │ │ ├── DiagnosticsAreReturned_ForUseOfRenderPartial.cs │ │ │ ├── DiagnosticsAreReturned_ForUseOfRenderPartial_InSections.cs │ │ │ ├── DiagnosticsAreReturned_ForUseOfRenderPartial_WithAdditionalParameters.cs │ │ │ ├── NoDiagnosticsAreReturned_ForNonUseOfHtmlPartial.cs │ │ │ ├── NoDiagnosticsAreReturned_ForUseOfHtmlPartialAsync.cs │ │ │ └── NoDiagnosticsAreReturned_ForUseOfRenderPartialAsync.cs │ │ ├── CodeAnalysisExtensionsTest │ │ │ ├── GetAttributes_BaseTypeWithAttributes.cs │ │ │ ├── GetAttributes_OnMethodWithoutAttributes.cs │ │ │ ├── GetAttributes_OnTypeWithAttributes.cs │ │ │ ├── GetAttributes_OnTypeWithoutAttributes.cs │ │ │ ├── GetAttributes_WithMethodOverridding.cs │ │ │ ├── GetAttributes_WithNewMethod.cs │ │ │ ├── GetAttributes_WithoutMethodOverriding.cs │ │ │ ├── HasAttribute_ReturnsFalseIfSymbolDoesNotHaveAttribute.cs │ │ │ ├── HasAttribute_ReturnsTrueForAttributesOnMethods.cs │ │ │ ├── HasAttribute_ReturnsTrueForAttributesOnOverriddenMethods.cs │ │ │ ├── HasAttribute_ReturnsTrueForAttributesOnOverridenProperties.cs │ │ │ ├── HasAttribute_ReturnsTrueForAttributesOnProperties.cs │ │ │ ├── HasAttribute_ReturnsTrueForInterfaceContractOnAttribute.cs │ │ │ ├── HasAttribute_ReturnsTrueIfBaseTypeHasAttribute.cs │ │ │ ├── HasAttribute_ReturnsTrueIfTypeHasAttribute.cs │ │ │ ├── IsAssignable_ReturnsFalseForDifferentTypes.cs │ │ │ ├── IsAssignable_ReturnsTrueIfAncestorTypeImplementsInterface.cs │ │ │ ├── IsAssignable_ReturnsTrueIfTypeImplementsInterface.cs │ │ │ ├── IsAssignable_ReturnsTrueIfTypeIsBaseClass.cs │ │ │ └── IsAssignable_ReturnsTrueIfTypesAreExact.cs │ │ └── TopLevelParameterNameAnalyzerTest │ │ │ ├── DiagnosticsAreReturned_ForControllerActionsWithParametersThatMatchProperties.cs │ │ │ ├── DiagnosticsAreReturned_ForModelBoundParameters.cs │ │ │ ├── DiagnosticsAreReturned_IfModelNameProviderIsUsedToModifyParameterName.cs │ │ │ ├── GetNameTests.cs │ │ │ ├── IsProblematicParameter_IgnoresFields.cs │ │ │ ├── IsProblematicParameter_IgnoresMethods.cs │ │ │ ├── IsProblematicParameter_IgnoresNonPublicProperties.cs │ │ │ ├── IsProblematicParameter_IgnoresStaticProperties.cs │ │ │ ├── IsProblematicParameter_ReturnsFalse_ForFromBodyParameter.cs │ │ │ ├── IsProblematicParameter_ReturnsFalse_ForParametersWithCustomModelBinder.cs │ │ │ ├── IsProblematicParameter_ReturnsFalse_IfBindingSourceAttributeIsUsedToRenameParameter.cs │ │ │ ├── IsProblematicParameter_ReturnsFalse_IfBindingSourceAttributeIsUsedToRenameProperty.cs │ │ │ ├── IsProblematicParameter_ReturnsTrue_IfModelBinderAttributeIsUsedToRenameParameter.cs │ │ │ ├── IsProblematicParameter_ReturnsTrue_IfParameterNameIsTheSameAsModelProperty.cs │ │ │ ├── IsProblematicParameter_ReturnsTrue_IfParameterNameWithBinderAttributeIsTheSameNameAsModelProperty.cs │ │ │ ├── IsProblematicParameter_ReturnsTrue_IfPropertyWithModelBindingAttributeHasSameNameAsParameter.cs │ │ │ ├── NoDiagnosticsAreReturnedForApiControllers.cs │ │ │ ├── NoDiagnosticsAreReturnedForNonActions.cs │ │ │ ├── NoDiagnosticsAreReturnedIfParameterIsRenamedUsingBindingAttribute.cs │ │ │ └── SpecifiesModelTypeTests.cs │ ├── TopLevelParameterNameAnalyzerTest.cs │ └── xunit.runner.json ├── Mvc.Api.Analyzers.Test │ ├── ActualApiResponseMetadataFactoryTest.cs │ ├── AddResponseTypeAttributeCodeFixProviderIntegrationTest.cs │ ├── ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzerIntegrationTest.cs │ ├── ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest.cs │ ├── ApiControllerFactsTest.cs │ ├── ApiConventionAnalyzerIntegrationTest.cs │ ├── DeclaredApiResponseMetadataTest.cs │ ├── Mvc.Api.Analyzers.Test.csproj │ ├── MvcFactsTest.cs │ ├── SymbolApiConventionMatcherTest.cs │ ├── SymbolApiResponseMetadataProviderTest.cs │ └── TestFiles │ │ ├── ActualApiResponseMetadataFactoryTest │ │ ├── GetDefaultStatusCodeTest.cs │ │ ├── InspectReturnExpressionTests.cs │ │ └── TryGetActualResponseMetadataTests.cs │ │ ├── AddResponseTypeAttributeCodeFixProviderIntegrationTest │ │ ├── CodeFixAddsFullyQualifiedProducesResponseType.Input.cs │ │ ├── CodeFixAddsFullyQualifiedProducesResponseType.Output.cs │ │ ├── CodeFixAddsMissingStatusCodes.Input.cs │ │ ├── CodeFixAddsMissingStatusCodes.Output.cs │ │ ├── CodeFixAddsMissingStatusCodesAndTypes.Input.cs │ │ ├── CodeFixAddsMissingStatusCodesAndTypes.Output.cs │ │ ├── CodeFixAddsNumericLiteralForNonExistingStatusCodeConstants.Input.cs │ │ ├── CodeFixAddsNumericLiteralForNonExistingStatusCodeConstants.Output.cs │ │ ├── CodeFixAddsResponseTypeWhenDifferentFromErrorType.Input.cs │ │ ├── CodeFixAddsResponseTypeWhenDifferentFromErrorType.Output.cs │ │ ├── CodeFixAddsStatusCodes.Input.cs │ │ ├── CodeFixAddsStatusCodes.Output.cs │ │ ├── CodeFixAddsStatusCodesFromConstructorParameters.Input.cs │ │ ├── CodeFixAddsStatusCodesFromConstructorParameters.Output.cs │ │ ├── CodeFixAddsStatusCodesFromMethodParameters.Input.cs │ │ ├── CodeFixAddsStatusCodesFromMethodParameters.Output.cs │ │ ├── CodeFixAddsStatusCodesFromObjectInitializer.Input.cs │ │ ├── CodeFixAddsStatusCodesFromObjectInitializer.Output.cs │ │ ├── CodeFixAddsSuccessStatusCode.Input.cs │ │ ├── CodeFixAddsSuccessStatusCode.Output.cs │ │ ├── CodeFixWithConventionAddsMissingStatusCodes.Input.cs │ │ ├── CodeFixWithConventionAddsMissingStatusCodes.Output.cs │ │ ├── CodeFixWithConventionMethodAddsMissingStatusCodes.Input.cs │ │ └── CodeFixWithConventionMethodAddsMissingStatusCodes.Output.cs │ │ ├── ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzerIntegrationTest │ │ ├── DiagnosticsAreReturned_ForApiActionsWithModelStateChecks.cs │ │ ├── DiagnosticsAreReturned_ForApiActionsWithModelStateChecksUsingEquality.cs │ │ ├── DiagnosticsAreReturned_ForApiActionsWithModelStateChecksWithoutBracing.cs │ │ ├── NoDiagnosticsAreReturned_ForApiActionsCheckingAdditionalConditions.cs │ │ ├── NoDiagnosticsAreReturned_ForApiActionsReturning400FromNonModelStateIsValidBlocks.cs │ │ ├── NoDiagnosticsAreReturned_ForApiActionsReturningNot400FromNonModelStateIsValidBlock.cs │ │ ├── NoDiagnosticsAreReturned_ForApiActionsWithoutModelStateChecks.cs │ │ ├── NoDiagnosticsAreReturned_ForNonApiController.cs │ │ └── NoDiagnosticsAreReturned_ForRazorPageModels.cs │ │ ├── ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest │ │ ├── CodeFixRemovesIfBlockWithoutBraces.Input.cs │ │ ├── CodeFixRemovesIfBlockWithoutBraces.Output.cs │ │ ├── CodeFixRemovesModelStateIsInvalidBlockWithEqualityCheck.Input.cs │ │ ├── CodeFixRemovesModelStateIsInvalidBlockWithEqualityCheck.Output.cs │ │ ├── CodeFixRemovesModelStateIsInvalidBlockWithIfNotCheck.Input.cs │ │ └── CodeFixRemovesModelStateIsInvalidBlockWithIfNotCheck.Output.cs │ │ ├── ApiControllerFactsTest │ │ ├── IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssembly.cs │ │ └── TestFile.cs │ │ ├── ApiConventionAnalyzerIntegrationTest │ │ ├── DiagnosticsAreReturned_ForActionResultOfTReturningMethodWithoutAnyAttributes.cs │ │ ├── DiagnosticsAreReturned_ForActionResultOfTReturningMethodWithoutSomeAttributes.cs │ │ ├── DiagnosticsAreReturned_ForControllerWithCustomConvention.cs │ │ ├── DiagnosticsAreReturned_IfAsyncMethodReturningValueTaskWithProducesResponseTypeAttribute_ReturnsUndocumentedStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfAsyncMethodWithProducesResponseTypeAttribute_ReturnsUndocumentedStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithApiConventionMethod_ReturnsUndocumentedStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithAttributeAsynchronouslyReturnsValue_WithoutDocumentation.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithAttributeReturnsValue_WithoutDocumentation.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithAttribute_ReturnsDerivedType.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithConvention_DoesNotReturnDocumentedStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithConvention_ReturnsUndocumentedStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithProducesResponseTypeAttribute_DoesNotDocumentSuccessStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithProducesResponseTypeAttribute_DoesNotReturnDocumentedStatusCode.cs │ │ ├── DiagnosticsAreReturned_IfMethodWithProducesResponseTypeAttribute_ReturnsUndocumentedStatusCode.cs │ │ ├── NoDiagnosticsAreReturned_ForApiController_IfStatusCodesCannotBeInferred.cs │ │ ├── NoDiagnosticsAreReturned_ForApiController_WithAllDocumentedStatusCodes.cs │ │ ├── NoDiagnosticsAreReturned_ForNonApiController.cs │ │ ├── NoDiagnosticsAreReturned_ForOkResultReturningAction.cs │ │ ├── NoDiagnosticsAreReturned_ForRazorPageModels.cs │ │ ├── NoDiagnosticsAreReturned_ForReturnStatementsInLambdas.cs │ │ └── NoDiagnosticsAreReturned_ForReturnStatementsInLocalFunctions.cs │ │ ├── MvcFactsTest │ │ ├── IsControllerActionTests.cs │ │ └── IsControllerTests.cs │ │ ├── SymbolApiConventionMatcherTest │ │ └── SymbolApiConventionMatcherTestFile.cs │ │ └── SymbolApiResponseMetadataProviderTest │ │ ├── GetErrorResponseType_ReturnsProblemDetails_IfNoAttributeIsDiscovered.cs │ │ ├── GetErrorResponseType_ReturnsTypeDefinedAtAction.cs │ │ ├── GetErrorResponseType_ReturnsTypeDefinedAtAssembly.cs │ │ ├── GetErrorResponseType_ReturnsTypeDefinedAtController.cs │ │ └── GetResponseMetadataTests.cs ├── MvcTests.ruleset └── WebSites │ ├── ApiExplorerWebSite │ ├── ActionDescriptorChangeProvider.cs │ ├── ApiExplorerDataFilter.cs │ ├── ApiExplorerInboundOutboundConvention.cs │ ├── ApiExplorerRouteChangeConvention.cs │ ├── ApiExplorerVisibilityDisabledConvention.cs │ ├── ApiExplorerVisibilityEnabledConvention.cs │ ├── ApiExplorerWebSite.csproj │ ├── Controllers │ │ ├── ApiExplorerApiController.cs │ │ ├── ApiExplorerHttpMethodController.cs │ │ ├── ApiExplorerInboundOutboundController.cs │ │ ├── ApiExplorerNameSetByConventionController.cs │ │ ├── ApiExplorerNameSetExplicitlyController.cs │ │ ├── ApiExplorerParametersController.cs │ │ ├── ApiExplorerReloadableController.cs │ │ ├── ApiExplorerResponseContentTypeController.cs │ │ ├── ApiExplorerResponseContentTypeOverrideOnActionController.cs │ │ ├── ApiExplorerResponseTypeOverrideOnActionController.cs │ │ ├── ApiExplorerResponseTypeWithApiConventionController.cs │ │ ├── ApiExplorerResponseTypeWithAttributeController.cs │ │ ├── ApiExplorerResponseTypeWithoutAttributeController.cs │ │ ├── ApiExplorerRouteAndPathParametersInformationController.cs │ │ ├── ApiExplorerVisibilityDisabledByConventionController.cs │ │ ├── ApiExplorerVisibilityEnabledByConventionController.cs │ │ └── ApiExplorerVisibilitySetExplicitlyController.cs │ ├── Models │ │ ├── Customer.cs │ │ ├── CustomerCommentsDTO.cs │ │ ├── OrderDTO.cs │ │ ├── OrderDetailsDTO.cs │ │ └── Product.cs │ ├── PassThruAttribute.cs │ ├── ReloadAttribute.cs │ ├── Startup.cs │ ├── WellKnownChangeToken.cs │ └── readme.md │ ├── ApplicationModelWebSite │ ├── ApplicationModelWebSite.csproj │ ├── Areas │ │ ├── Manage │ │ │ └── Views │ │ │ │ └── MultipleAreas │ │ │ │ └── Index.cshtml │ │ ├── Products │ │ │ └── Views │ │ │ │ └── MultipleAreas │ │ │ │ └── Index.cshtml │ │ └── Services │ │ │ └── Views │ │ │ └── MultipleAreas │ │ │ └── Index.cshtml │ ├── Controllers │ │ ├── ActionModelController.cs │ │ ├── ApplicationModelController.cs │ │ ├── ControllerModelController.cs │ │ ├── HomeController.cs │ │ ├── LicenseController.cs │ │ ├── MultipleAreasController.cs │ │ └── ParameterModelController.cs │ ├── Conventions │ │ ├── ActionDescriptionAttribute.cs │ │ ├── ApplicationDescription.cs │ │ ├── CloneActionAttribute.cs │ │ ├── CloneActionConvention.cs │ │ ├── ControllerDescriptionAttribute.cs │ │ ├── ControllerLicenseConvention.cs │ │ ├── FromHeaderConvention.cs │ │ ├── MultipleAreasAttribute.cs │ │ └── MultipleAreasControllerConvention.cs │ ├── Startup.cs │ ├── Views │ │ └── ActionModel │ │ │ ├── Help.cshtml │ │ │ └── MoreHelp.cshtml │ └── readme.md │ ├── BasicWebSite │ ├── ActionDescriptorCreationCounter.cs │ ├── Areas │ │ ├── Area1 │ │ │ ├── Controllers │ │ │ │ ├── RemoteAttribute_HomeController.cs │ │ │ │ └── RemoteAttribute_VerifyController.cs │ │ │ └── Views │ │ │ │ └── RemoteAttribute_Home │ │ │ │ ├── Create.cshtml │ │ │ │ ├── Details.cshtml │ │ │ │ └── _Layout.cshtml │ │ └── Area2 │ │ │ └── Controllers │ │ │ └── RemoteAttribute_VerifyController.cs │ ├── BasicAuthenticationHandler.cs │ ├── BasicWebSite.csproj │ ├── Components │ │ ├── PassThroughViewComponent.cs │ │ └── ViewDataViewComponent.cs │ ├── ConfigureAuthPolicies.cs │ ├── ContactsRepository.cs │ ├── Controllers │ │ ├── ActionConstraints │ │ │ ├── ConsumesAttribute_MediaTypeSuffix.cs │ │ │ ├── ConsumesAttribute_NoFallBackActionController.cs │ │ │ ├── ConsumesAttribute_OveridesBaseController.cs │ │ │ ├── ConsumesAttribute_OveridesController.cs │ │ │ ├── ConsumesAttribute_PassThroughController.cs │ │ │ └── ConsumesAttribute_WithFallbackActionController.cs │ │ ├── ActionResultOfTController.cs │ │ ├── AntiforgeryController.cs │ │ ├── AsyncActionsController.cs │ │ ├── AuthorizeUserController.cs │ │ ├── BindPropertiesController.cs │ │ ├── BindPropertiesSupportsGetController.cs │ │ ├── ContactApiController.cs │ │ ├── ContentNegotiation │ │ │ ├── ContentNegotiationController.cs │ │ │ ├── FallbackOnTypeBasedMatchController.cs │ │ │ ├── FormatFilterController.cs │ │ │ ├── InvalidContentTypeController.cs │ │ │ ├── NoContentController.cs │ │ │ ├── NoContentDoNotTreatNullValueAsNoContentController.cs │ │ │ ├── NoProducesContentOnClassController.cs │ │ │ ├── NormalController.cs │ │ │ ├── ProducesContentBaseController.cs │ │ │ ├── ProducesContentOnClassController.cs │ │ │ ├── ProducesJsonController.cs │ │ │ ├── ProducesWithMediaTypeParametersController.cs │ │ │ ├── ProducesWithMediaTypeSuffixesController.cs │ │ │ └── TextPlainController.cs │ │ ├── DefaultValuesController.cs │ │ ├── FiltersController.cs │ │ ├── HomeController.cs │ │ ├── JsonResultController.cs │ │ ├── LinkGeneration │ │ │ ├── LinksController.cs │ │ │ ├── OrdersController.cs │ │ │ └── ProductsController.cs │ │ ├── MonitorController.cs │ │ ├── PageRouteController.cs │ │ ├── PassThroughController.cs │ │ ├── RemoteAttribute_HomeController.cs │ │ ├── RemoteAttribute_VerifyController.cs │ │ ├── RequestFormLimitsController.cs │ │ ├── RequestScopedServiceController.cs │ │ ├── RequestSizeLimitController.cs │ │ ├── RoutingController.cs │ │ ├── SqlDataController.cs │ │ ├── TempDataController.cs │ │ ├── TempDataPropertyController.cs │ │ ├── TestingController.cs │ │ ├── UsersController.cs │ │ └── ViewDataPropertyController.cs │ ├── Conventions │ │ └── ApplicationDescription.cs │ ├── Filters │ │ ├── RedirectAntiforgeryValidationFailedResultFilter.cs │ │ ├── RequestIdService.cs │ │ ├── ServiceActionFilter.cs │ │ ├── TestExceptionFilter.cs │ │ ├── TraceOutputResultFilter.cs │ │ ├── TraceResourceFilter.cs │ │ └── UnprocessableResultFilter.cs │ ├── Formatters │ │ ├── CustomFormatter.cs │ │ ├── PlainTextFormatter.cs │ │ ├── VCardFormatter_V3.cs │ │ └── VCardFormatter_V4.cs │ ├── LocalizationPipeline.cs │ ├── ManagerHandler.cs │ ├── Models │ │ ├── Contact.cs │ │ ├── GenderType.cs │ │ ├── LoginViewModel.cs │ │ ├── Person.cs │ │ ├── Product.cs │ │ ├── Product_Json.cs │ │ ├── Product_Xml.cs │ │ ├── Product_text.cs │ │ ├── RemoteAttributeUser.cs │ │ └── User.cs │ ├── Operations.cs │ ├── Program.cs │ ├── RequestIdMiddleware.cs │ ├── RequestIdViewComponent.cs │ ├── RequestScopedActionConstraint.cs │ ├── RequestScopedFilter.cs │ ├── RequestScopedTagHelper.cs │ ├── Startup.cs │ ├── StartupRequestLimitSize.cs │ ├── StartupWithCookieTempDataProviderAndCookieConsent.cs │ ├── StartupWithCustomInvalidModelStateFactory.cs │ ├── StartupWithEndpointRouting.cs │ ├── StartupWithSessionTempDataProvider.cs │ ├── StoreIntoTempDataActionResult.cs │ ├── Views │ │ ├── Antiforgery │ │ │ ├── AntiforgeryTokenAndResponseCaching.cshtml │ │ │ ├── FlushAsyncLogin.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Login.cshtml │ │ │ ├── _FlushAsyncLayout.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _LoginPartial.cshtml │ │ ├── Home │ │ │ ├── ActionLinkView.cshtml │ │ │ ├── CSharp7View.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── JsonHelperInView.cshtml │ │ │ ├── JsonHelperWithSettingsInView.cshtml │ │ │ ├── PlainView.cshtml │ │ │ └── ViewWithPrefixedAttributeValue.cshtml │ │ ├── Links │ │ │ ├── ActionLink_ActionOnOtherController.cshtml │ │ │ ├── ActionLink_ActionOnSameController.cshtml │ │ │ ├── ActionLink_HostNameFragmentAttributes.cshtml │ │ │ ├── ActionLink_SecurePage_ImplicitHostName.cshtml │ │ │ ├── RouteLink_HostNameFragmentAttributes.cshtml │ │ │ ├── RouteLink_RestLinkToOtherController.cshtml │ │ │ └── RouteLink_SecureApi_ImplicitHostName.cshtml │ │ ├── PageRoute │ │ │ ├── AttributeRouteView.cshtml │ │ │ └── ConventionalRouteView.cshtml │ │ ├── RemoteAttribute_Home │ │ │ ├── Create.cshtml │ │ │ └── _Layout.cshtml │ │ ├── RequestScopedService │ │ │ ├── TagHelper.cshtml │ │ │ ├── View.cshtml │ │ │ └── ViewComponent.cshtml │ │ ├── Shared │ │ │ ├── Components │ │ │ │ ├── PassThrough │ │ │ │ │ └── Default.cshtml │ │ │ │ └── ViewData │ │ │ │ │ └── Default.cshtml │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── TempData │ │ │ ├── DisplayTempData.cshtml │ │ │ └── Index.cshtml │ │ ├── TempDataProperty │ │ │ └── DetailsView.cshtml │ │ └── ViewDataProperty │ │ │ ├── ViewDataInViewComponent.cshtml │ │ │ ├── ViewDataPropertyToView.cshtml │ │ │ └── _Layout.cshtml │ ├── VndErrorAttribute.cs │ ├── _bower.json │ ├── _bower.readme │ ├── _gruntfile.js │ ├── _package.json │ ├── readme.md │ └── wwwroot │ │ └── lib │ │ └── jquery-validation-unobtrusive │ │ └── jquery.validate.unobtrusive.min.js │ ├── Common │ └── TestResponseGenerator.cs │ ├── ControllersFromServicesClassLibrary │ ├── ClientUIStubController.cs │ ├── ControllerWithConstructorInjection.cs │ ├── ControllersFromServicesClassLibrary.csproj │ ├── EmployeeRecords.cs │ ├── GenericController.cs │ ├── Inventory.cs │ ├── NestedControllerOwner.cs │ ├── QueryValueService.cs │ ├── ResourcesController.cs │ └── TimeScheduleController.cs │ ├── ControllersFromServicesWebSite │ ├── AnotherController.cs │ ├── Components │ │ └── ComponentFromServicesViewComponent.cs │ ├── ControllersFromServicesWebSite.csproj │ ├── NotInServicesController.cs │ ├── Startup.cs │ ├── TagHelpers │ │ └── InServicesTagHelper.cs │ ├── ValueService.cs │ ├── ViewData.cshtml │ ├── Views │ │ └── Another │ │ │ └── InServicesTagHelper.cshtml │ └── readme.md │ ├── CorsWebSite │ ├── Controllers │ │ ├── BlogController.cs │ │ ├── CustomerController.cs │ │ └── StoreController.cs │ ├── CorsWebSite.csproj │ ├── Filters │ │ └── AllRequestsBlockingAuthorizationFilter.cs │ ├── Program.cs │ ├── Startup.cs │ ├── StartupWith21Compat.cs │ └── readme.md │ ├── Directory.Build.props │ ├── ErrorPageMiddlewareWebSite │ ├── AggregateExceptionController.cs │ ├── ErrorPageMiddlewareController.cs │ ├── ErrorPageMiddlewareWebSite.csproj │ ├── README.md │ ├── Startup.cs │ └── Views │ │ ├── ErrorFromViewImports │ │ ├── Index.cshtml │ │ └── _ViewImports.cshtml │ │ └── ErrorPageMiddleware │ │ ├── CompilationFailure.cshtml │ │ ├── ParserError.cshtml │ │ └── RuntimeError.cshtml │ ├── FSharpWebSite │ ├── Controllers │ │ └── HomeController.fs │ ├── FSharpWebSite.fsproj │ ├── Program.fs │ ├── Startup.fs │ └── Views │ │ ├── Home │ │ └── Index.cshtml │ │ ├── Shared │ │ └── _Layout.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── FilesWebSite │ ├── Controllers │ │ ├── DownloadFilesController.cs │ │ ├── EmbeddedFilesController.cs │ │ └── UploadFilesController.cs │ ├── EmbeddedResources │ │ └── Greetings.txt │ ├── FilesWebSite.csproj │ ├── Models │ │ ├── Product.cs │ │ └── User.cs │ ├── Startup.cs │ ├── readme.md │ └── sample.txt │ ├── FormatterWebSite │ ├── Controllers │ │ ├── DataContractSerializerController.cs │ │ ├── DoNotRespectBrowserAcceptHeaderController.cs │ │ ├── HomeController.cs │ │ ├── InputFormatterController.cs │ │ ├── JsonFormatterController.cs │ │ ├── JsonPatchController.cs │ │ ├── PolymorphicBindingController.cs │ │ ├── PolymorphicPropertyBindingController.cs │ │ ├── RespectBrowserAcceptHeaderController.cs │ │ ├── SerializableErrorController.cs │ │ ├── StreamController.cs │ │ ├── TestApiController.cs │ │ ├── TopLevelValidationController.cs │ │ ├── ValidationController.cs │ │ └── XmlSerializerController.cs │ ├── Filters │ │ └── ModelStateValidationFilterAttribute.cs │ ├── FormatterWebSite.csproj │ ├── IModelConverter.cs │ ├── Models │ │ ├── BaseModel.cs │ │ ├── BookModelWithNoValidation.cs │ │ ├── DerivedDummyClass.cs │ │ ├── DerivedModel.cs │ │ ├── Developer.cs │ │ ├── DummyClass.cs │ │ ├── Employee.cs │ │ ├── ErrorInfo.cs │ │ ├── IModel.cs │ │ ├── InfinitelyRecursiveModel.cs │ │ ├── Person.cs │ │ ├── Product.cs │ │ ├── Project.cs │ │ ├── RecursiveIdentifier.cs │ │ ├── Review.cs │ │ ├── SimpleTypePropertiesModel.cs │ │ ├── User.cs │ │ └── ValidationProviderAttributeModel.cs │ ├── PolymorphicBinder.cs │ ├── Program.cs │ ├── Startup.cs │ ├── StartupWithRespectBrowserAcceptHeader.cs │ ├── StringInputFormatter.cs │ ├── ValidateBodyParameterAttribute.cs │ └── readme.md │ ├── HtmlGenerationWebSite │ ├── Areas │ │ └── Customer │ │ │ ├── Controllers │ │ │ └── HtmlGeneration_CustomerController.cs │ │ │ └── Pages │ │ │ ├── PartialWithFallback.cshtml │ │ │ ├── PartialWithOptional.cshtml │ │ │ ├── _Fallback.cshtml │ │ │ └── _ViewImports.cshtml │ ├── Components │ │ ├── CheckViewData - LackModel.cs │ │ ├── CheckViewData.cs │ │ └── SplashViewComponent.cs │ ├── Controllers │ │ ├── Catalog_CacheTagHelperController.cs │ │ ├── CheckViewData.cs │ │ ├── HtmlGeneration_HomeController.cs │ │ ├── HtmlGeneration_OrderController.cs │ │ ├── HtmlGeneration_ProductController.cs │ │ └── HtmlGeneration_WeirdExpressions.cs │ ├── HtmlGenerationWebSite.csproj │ ├── ISignalTokenProviderService.cs │ ├── Models │ │ ├── AClass.cs │ │ ├── Customer.cs │ │ ├── DayOfWeek.cs │ │ ├── Employee.cs │ │ ├── Folder.cs │ │ ├── Gender.cs │ │ ├── Item.cs │ │ ├── Month.cs │ │ ├── Order.cs │ │ ├── PartialModel.cs │ │ ├── Person.cs │ │ ├── Product.cs │ │ ├── ProductRecommendations.cs │ │ ├── StatusMessageModel.cs │ │ ├── SuperTemplateModel.cs │ │ ├── SuperViewModel.cs │ │ ├── TemplateModel.cs │ │ ├── ValidationProviderAttributeModel.cs │ │ ├── ViewModel.cs │ │ ├── Warehouse.cs │ │ └── WeirdModel.cs │ ├── Pages │ │ ├── CacheTagHelper_VaryByCulture.cshtml │ │ └── _ViewImports.cshtml │ ├── ProductsService.cs │ ├── SignalTokenProviderService.cs │ ├── Startup.cs │ ├── StartupWith21CompatibilityBehavior.cs │ ├── StartupWithCultureReplace.cs │ ├── TestCacheTagHelper.cs │ ├── Views │ │ ├── Catalog_CacheTagHelper │ │ │ ├── ConfirmPayment.cshtml │ │ │ ├── Deals.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── ListCategories.cshtml │ │ │ ├── PastPurchases.cshtml │ │ │ ├── ShoppingCart.cshtml │ │ │ ├── Splash.cshtml │ │ │ ├── _SplashPartial.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── CheckViewData │ │ │ ├── AtViewModel.cshtml │ │ │ ├── Components │ │ │ │ ├── CheckViewData │ │ │ │ │ └── Default.cshtml │ │ │ │ └── CheckViewData___LackModel │ │ │ │ │ └── Default.cshtml │ │ │ ├── DisplayTemplates │ │ │ │ ├── Int32 - LackModel.cshtml │ │ │ │ ├── Int32.cshtml │ │ │ │ ├── Int64 - LackModel.cshtml │ │ │ │ ├── Int64.cshtml │ │ │ │ ├── LackModel.cshtml │ │ │ │ ├── TemplateModel.cshtml │ │ │ │ └── ViewModel.cshtml │ │ │ ├── PartialForViewModel.cshtml │ │ │ └── ViewModel.cshtml │ │ ├── HtmlGeneration_Home │ │ │ ├── AttributesWithBooleanValues.cshtml │ │ │ ├── CreateWarehouse.cshtml │ │ │ ├── EditWarehouse.cshtml │ │ │ ├── EditorTemplates │ │ │ │ ├── Employee.cshtml │ │ │ │ ├── GenderUsingHtmlHelpers.cshtml │ │ │ │ └── GenderUsingTagHelpers.cshtml │ │ │ ├── EmployeeList.cshtml │ │ │ ├── Enum.cshtml │ │ │ ├── Environment.cshtml │ │ │ ├── Form.cshtml │ │ │ ├── Image.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Input.cshtml │ │ │ ├── ItemUsingModelSpecificEditorTemplate.cshtml │ │ │ ├── ItemUsingSharedEditorTemplate.cshtml │ │ │ ├── Link.cshtml │ │ │ ├── Order.cshtml │ │ │ ├── OrderUsingHtmlHelpers.cshtml │ │ │ ├── PartialTagHelperWithoutModel.cshtml │ │ │ ├── Product.cshtml │ │ │ ├── ProductList.cshtml │ │ │ ├── ProductListUsingTagHelpers.cshtml │ │ │ ├── Script.cshtml │ │ │ ├── StatusMessage.cshtml │ │ │ ├── ValidationProviderAttribute.cshtml │ │ │ ├── Warehouse.cshtml │ │ │ ├── _EmployeePartial.cshtml │ │ │ ├── _ProductPartial.cshtml │ │ │ ├── _ProductRecommendations.cshtml │ │ │ └── _StatusMessagePartial.cshtml │ │ ├── HtmlGeneration_WeirdExpressions │ │ │ ├── GetWeirdWithHtmlHelpers.cshtml │ │ │ └── GetWeirdWithTagHelpers.cshtml │ │ └── Shared │ │ │ ├── Components │ │ │ └── Splash │ │ │ │ └── Default.cshtml │ │ │ ├── Customer.cshtml │ │ │ ├── DisplayTemplates │ │ │ └── DayOfWeek.cshtml │ │ │ ├── EditorTemplates │ │ │ ├── Common.cshtml │ │ │ └── String.cshtml │ │ │ └── _Partial.cshtml │ ├── appRoot.css │ ├── appRoot.js │ ├── readme.md │ └── wwwroot │ │ ├── images │ │ └── red.png │ │ └── styles │ │ ├── .gitattributes │ │ ├── site.css │ │ ├── site.js │ │ ├── siteIntegrity.css │ │ ├── siteIntegrity.js │ │ └── sub │ │ ├── site2.css │ │ ├── site2.js │ │ ├── site3.css │ │ ├── site3.js │ │ ├── site3.min.css │ │ ├── siteIntegrity2.js │ │ └── siteIntegrity3.js │ ├── RazorBuildWebSite.PrecompiledViews │ ├── Pages │ │ └── Precompilation │ │ │ ├── Page.cs │ │ │ └── Page_Model.cs │ ├── RazorBuildWebSite.PrecompiledViews.csproj │ └── Views │ │ ├── Common │ │ └── CommonView.cs │ │ └── Precompilation │ │ └── View.cs │ ├── RazorBuildWebSite.Views │ ├── AssemblyInfo.cs │ ├── Pages │ │ └── Rzc │ │ │ ├── Page.cs │ │ │ └── Page_Model.cs │ ├── RazorBuildWebSite.Views.csproj │ └── Views │ │ ├── Common │ │ └── CommonView.cs │ │ └── Rzc │ │ └── View.cs │ ├── RazorBuildWebSite │ ├── Controllers │ │ ├── CommonController.cs │ │ ├── PrecompilationController.cs │ │ └── RzcController.cs │ ├── Pages │ │ ├── Precompilation │ │ │ └── Page.cshtml │ │ ├── Rzc │ │ │ └── Page.cshtml │ │ └── _ViewImports.cshtml │ ├── RazorBuildWebSite.csproj │ ├── Startup.cs │ ├── Views │ │ ├── Precompilation │ │ │ └── View.cshtml │ │ ├── Rzc │ │ │ └── View.cshtml │ │ └── _ViewImports.cshtml │ └── readme.md │ ├── RazorPagesClassLibrary │ ├── ClassLibraryStartup.cs │ ├── Pages │ │ └── ClassLibraryPages │ │ │ ├── Overriden.cshtml │ │ │ └── Served.cshtml │ └── RazorPagesClassLibrary.csproj │ ├── RazorPagesWebSite │ ├── Areas │ │ ├── Accounts │ │ │ ├── Controllers │ │ │ │ └── HomeController.cs │ │ │ ├── Pages │ │ │ │ ├── About.cshtml │ │ │ │ ├── Manage │ │ │ │ │ ├── RenderPartials.cshtml │ │ │ │ │ └── _PartialInManage.cshtml │ │ │ │ ├── PageWithLinks.cshtml │ │ │ │ ├── PageWithRouteTemplate.cshtml │ │ │ │ ├── RelativeLinks │ │ │ │ │ └── Index.cshtml │ │ │ │ ├── RequiresAuth │ │ │ │ │ ├── AllowAnonymous.cshtml │ │ │ │ │ └── Index.cshtml │ │ │ │ └── _PartialInAreaPagesRoot.cshtml │ │ │ ├── Views │ │ │ │ ├── Home │ │ │ │ │ └── Index.cshtml │ │ │ │ └── Shared │ │ │ │ │ └── _PartialInAreasSharedViews.cshtml │ │ │ └── _ViewImports.cshtml │ │ └── Products │ │ │ └── Pages │ │ │ └── List.cshtml │ ├── Components │ │ └── ViewDataViewComponent.cs │ ├── Controllers │ │ └── RedirectController.cs │ ├── Conventions │ │ └── CustomModelTypeConvention.cs │ ├── CustomActionResult.cs │ ├── DefaultNamespace.cshtml │ ├── HandlerTestPage.cshtml │ ├── HelloWorld.cshtml │ ├── HelloWorldWithAuth.cshtml │ ├── HelloWorldWithHandler.cshtml │ ├── HelloWorldWithOptionsHandler.cshtml │ ├── HelloWorldWithPageModelAttributeModel.cs │ ├── HelloWorldWithPageModelAttributeModel.cshtml │ ├── HelloWorldWithPageModelHandler.cs │ ├── HelloWorldWithPageModelHandler.cshtml │ ├── HelloWorldWithRoute.cshtml │ ├── InjectedPageProperties.cshtml │ ├── ModelAsFilter.cs │ ├── ModelAsFilter.cshtml │ ├── ModelHandlerTestModel.cs │ ├── ModelHandlerTestPage.cshtml │ ├── ModelWithAuthFilter.cs │ ├── ModelWithAuthFilter.cshtml │ ├── ModelWithPageFilter.cs │ ├── ModelWithPageFilter.cshtml │ ├── ModelWithResponseCache.cs │ ├── ModelWithResponseCache.cshtml │ ├── Models │ │ ├── IUserModel.cs │ │ └── UserModel.cs │ ├── NoPage.cshtml │ ├── OnGetView.cshtml │ ├── PageWithoutContent.cshtml │ ├── Pages │ │ ├── Admin │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Login.cshtml │ │ │ └── RouteTemplate.cshtml │ │ ├── Antiforgery │ │ │ ├── AntiforgeryDefault.cshtml │ │ │ ├── AntiforgeryDefault.cshtml.cs │ │ │ ├── IgnoreAntiforgery.cshtml │ │ │ ├── IgnoreAntiforgery.cshtml.cs │ │ │ └── _ViewImports.cshtml │ │ ├── ClassLibraryPages │ │ │ └── Overriden.cshtml │ │ ├── Conventions │ │ │ ├── Auth.cshtml │ │ │ └── AuthFolder │ │ │ │ ├── AnonymousModel.cs │ │ │ │ ├── AnonymousViaModel.cshtml │ │ │ │ └── Index.cshtml │ │ ├── CustomBaseType │ │ │ ├── CustomPageBase.cs │ │ │ ├── Page.cshtml │ │ │ ├── PageWithModel.cs │ │ │ ├── PageWithModel.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── CustomModelTypeModel.cshtml │ │ ├── CustomModelTypeModel.cshtml.cs │ │ ├── CustomPrefix │ │ │ └── Custom.cshtml │ │ ├── FileFromShared │ │ ├── HandlerWithParameter.cshtml │ │ ├── HandlerWithParameter.cshtml.cs │ │ ├── Index.cshtml │ │ ├── Localized │ │ │ ├── Page.cshtml │ │ │ ├── Page.fr-FR.resx │ │ │ ├── PageWithModel.cs │ │ │ ├── PageWithModel.cshtml │ │ │ └── PageWithModel.fr-FR.resx │ │ ├── Namespace │ │ │ ├── Nested │ │ │ │ ├── Folder │ │ │ │ │ └── Index.cshtml │ │ │ │ └── Override │ │ │ │ │ └── Index.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── NotTheRoot.cshtml │ │ ├── PropertyBinding │ │ │ ├── BindFormFile.cshtml │ │ │ ├── BindFormFile.cshtml.cs │ │ │ ├── BindPropertiesOnModel.cs │ │ │ ├── BindPropertiesOnModel.cshtml │ │ │ ├── BindPropertiesWithSupportsGetOnModel.cs │ │ │ ├── BindPropertiesWithSupportsGetOnModel.cshtml │ │ │ ├── BindPropertyWithGet.cshtml │ │ │ ├── PageModelWithPropertyAndArgumentBinding.cs │ │ │ ├── PageModelWithPropertyBinding.cs │ │ │ ├── PageModelWithPropertyBinding.cshtml │ │ │ ├── PagePropertyBinding.cshtml │ │ │ ├── PageWithPropertyAndArgumentBinding.cshtml │ │ │ ├── PolymorphicBinding.cs │ │ │ ├── PolymorphicBinding.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── Redirects │ │ │ ├── Index.cshtml │ │ │ ├── Redirect.cshtml │ │ │ ├── RedirectFromHandler.cshtml │ │ │ ├── RedirectFromModel.cs │ │ │ ├── RedirectFromModel.cshtml │ │ │ ├── RedirectFromPage.cshtml │ │ │ ├── RedirectToSelf.cshtml │ │ │ ├── RedirectToSibling.cshtml │ │ │ └── SubDir │ │ │ │ └── SubDirPage.cshtml │ │ ├── Routes │ │ │ ├── RouteUsingDefaultName.cshtml │ │ │ ├── Sibling.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── SearchInPages.cshtml │ │ ├── Section │ │ │ ├── Index.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Shared │ │ │ ├── Components │ │ │ │ └── ViewData │ │ │ │ │ └── Default.cshtml │ │ │ ├── _CustomBaseTypeLayout.cshtml │ │ │ └── _FileInShared.cshtml │ │ ├── ShortCircuitPageAtAuthFilter.cshtml │ │ ├── ShortCircuitPageAtAuthFilter.cshtml.cs │ │ ├── ShortCircuitPageAtPageFilter.cshtml │ │ ├── ShortCircuitPageAtPageFilter.cshtml.cs │ │ ├── TagHelper │ │ │ ├── CrossPost.cshtml │ │ │ ├── FormAction.cshtml │ │ │ ├── PathTraversalLinks.cshtml │ │ │ ├── PostWithHandler.cshtml │ │ │ ├── SelfPost.cshtml │ │ │ ├── SiblingLinks.cshtml │ │ │ ├── SubDir │ │ │ │ └── SubDirPage.cshtml │ │ │ ├── SubDirectoryLinks.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── TryUpdateModel.cshtml │ │ ├── TryUpdateModelPageModel.cs │ │ ├── TryUpdateModelPageModel.cshtml │ │ ├── TryValidateModel.cshtml │ │ ├── TryValidateModelPageModel.cs │ │ ├── TryValidateModelPageModel.cshtml │ │ ├── Validation │ │ │ ├── PageHandlerWithValidation.cshtml │ │ │ ├── PageWithValidation.cs │ │ │ ├── PageWithValidation.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── ViewData │ │ │ ├── ViewDataInPage.cs │ │ │ ├── ViewDataInPage.cshtml │ │ │ ├── ViewDataInPageWithoutModel.cshtml │ │ │ ├── ViewDataSetInViewStart │ │ │ │ ├── Index.cs │ │ │ │ ├── Index.cshtml │ │ │ │ ├── _Layout.cshtml │ │ │ │ └── _ViewStart.cshtml │ │ │ ├── ViewDataToViewComponentPage.cs │ │ │ ├── ViewDataToViewComponentPage.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── ViewDataAvailableAfterHandlerExecuted.cshtml │ │ ├── ViewDataAvailableAfterHandlerExecuted.cshtml.cs │ │ ├── ViewSearch │ │ │ ├── Index.cshtml │ │ │ └── _Sibling.cshtml │ │ ├── WithViewImport │ │ │ ├── Index.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── WithViewStart │ │ │ ├── Index.cshtml │ │ │ ├── ViewStartAtRoot.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── _Parent.cshtml │ │ └── _ViewImports.cshtml │ ├── PathSet.cshtml │ ├── PolymorphicModelBinder.cs │ ├── Program.cs │ ├── RazorPagesWebSite.csproj │ ├── RedirectToController.cshtml │ ├── RenderPartialWithModel.cs │ ├── RenderPartialWithModel.cshtml │ ├── RenderPartialWithoutModel.cshtml │ ├── RouteData.cshtml │ ├── Services │ │ └── CustomService.cs │ ├── Show.cshtml │ ├── SimpleForms.cshtml │ ├── Startup.cs │ ├── StartupWithBasePath.cs │ ├── TagHelpers.cshtml │ ├── TempData │ │ ├── SetMessageAndRedirect.cshtml │ │ ├── SetTempDataOnPageAndRedirect.cshtml │ │ ├── SetTempDataOnPageModelAndRedirect.cs │ │ ├── SetTempDataOnPageModelAndRedirect.cshtml │ │ ├── ShowMessage.cshtml │ │ ├── TempDataPageModel.cs │ │ └── TempDataPageModelProperty.cshtml │ ├── Views │ │ └── Shared │ │ │ ├── _FileInShared.cshtml │ │ │ ├── _GlobalLayout.cshtml │ │ │ ├── _PartialWithModel.cshtml │ │ │ ├── _PartialWithoutModel.cshtml │ │ │ └── _Shared.cshtml │ ├── _Root.cshtml │ ├── _ViewStart.cshtml │ └── readme.md │ ├── RazorWebSite │ ├── Components │ │ ├── ComponentForViewWithPaths.cs │ │ ├── ComponentThatSetsTitle.cs │ │ ├── ComponentWithLayout.cs │ │ ├── ComponentWithRelativePath.cs │ │ ├── ComponentWithViewStart.cs │ │ └── InheritingViewComponent.cs │ ├── Controllers │ │ ├── AddTagHelperComponentController.cs │ │ ├── BackSlashController.cs │ │ ├── DataAnnotationController.cs │ │ ├── DirectivesController.cs │ │ ├── EmbeddedViewsController.cs │ │ ├── ExpanderViewsController.cs │ │ ├── FlushPoint.cs │ │ ├── HtmlHelperOptionsController.cs │ │ ├── NestedViewStartsController.cs │ │ ├── PartialViewEngineController.cs │ │ ├── PartialsWithLayoutController.cs │ │ ├── TagHelperComponentController.cs │ │ ├── TemplateExpander.cs │ │ ├── UpdateableFileProviderController.cs │ │ ├── UrlResolutionController.cs │ │ ├── ViewEngineController.cs │ │ ├── ViewNameSpecification_HomeController.cs │ │ ├── ViewWithPathsController.cs │ │ └── ViewsConsumingCompilationOptionsController.cs │ ├── EmbeddedResources │ │ └── Views │ │ │ ├── EmbeddedShared │ │ │ ├── _Layout.cshtml │ │ │ └── _Partial.cshtml │ │ │ ├── EmbeddedViews │ │ │ ├── EmbeddedPartial.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── RelativeNonPath.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ │ │ └── Shared │ │ │ └── _EmbeddedPartial.cshtml │ ├── Models │ │ ├── Address.cs │ │ ├── EnumModel.cs │ │ └── Person.cs │ ├── MyBasePage.cs │ ├── NestedViewImportsController.cs │ ├── Pages │ │ └── Shared │ │ │ ├── _Layout.cshtml │ │ │ └── _SharedFromPages.cshtml │ ├── Program.cs │ ├── RazorWebSite.csproj │ ├── Resources │ │ ├── Models │ │ │ └── ModelEnum.resx │ │ └── SingleType.resx │ ├── Services │ │ ├── BackSlashExpander.cs │ │ ├── FrameworkSpecificHelper.cs │ │ ├── InjectedHelper.cs │ │ ├── NonMainPageViewLocationExpander.cs │ │ ├── TaskReturningService.cs │ │ ├── TestBodyTagHelperComponent.cs │ │ ├── TestHeadTagHelperComponent.cs │ │ └── UpdateableFileProvider.cs │ ├── Shared-Views │ │ └── ExpanderViews │ │ │ ├── Index.cshtml │ │ │ └── _ExpanderPartial.cshtml │ ├── SingleType.cs │ ├── Startup.cs │ ├── StartupDataAnnotations.cs │ ├── Views │ │ ├── AddTagHelperComponent │ │ │ └── AddComponent.cshtml │ │ ├── BackSlash │ │ │ ├── BackSlashView.cshtml │ │ │ ├── _BackSlashPartial.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Directives │ │ │ ├── Scoped │ │ │ │ ├── ViewInheritsBasePageFromViewImports.cshtml │ │ │ │ ├── _Layout.cshtml │ │ │ │ ├── _ViewImports.cshtml │ │ │ │ └── _ViewStart.cshtml │ │ │ ├── ViewInheritsInjectAndUsingsFromViewImports.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── Enum │ │ │ └── Enum.cshtml │ │ ├── ExpanderViews │ │ │ └── Index.cshtml │ │ ├── FlushPoint │ │ │ ├── PageWithFlushBeforeLayout.cshtml │ │ │ ├── PageWithLayout.cshtml │ │ │ ├── PageWithNestedLayout.cshtml │ │ │ ├── PageWithPartialsAndViewComponents.cshtml │ │ │ ├── PageWithSectionInvokedViaRenderSectionAsync.cshtml │ │ │ └── PageWithoutLayout.cshtml │ │ ├── HtmlHelperOptions │ │ │ ├── HtmlHelperOptionsDefaultsInPartialView.cshtml │ │ │ ├── HtmlHelperOptionsDefaultsInView.cshtml │ │ │ ├── OverrideAppWideDefaultsInPartialView.cshtml │ │ │ └── OverrideAppWideDefaultsInView.cshtml │ │ ├── InheritingInherits │ │ │ ├── Index.cshtml │ │ │ ├── _ViewComponent.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── NestedViewImports │ │ │ ├── Nested │ │ │ │ ├── Index.cshtml │ │ │ │ ├── _ViewImports.cshtml │ │ │ │ └── _ViewStart.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── NestedViewStarts │ │ │ ├── NestedViewStarts │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Layout.cshtml │ │ │ │ └── _ViewStart.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── PartialViewEngine │ │ │ ├── PartialMissingSection.cshtml │ │ │ ├── PartialWithModel.cshtml │ │ │ ├── ViewPartialMissingSection.cshtml │ │ │ ├── ViewWithDataFromController.cshtml │ │ │ ├── ViewWithFullPath.cshtml │ │ │ ├── ViewWithLayout.cshtml │ │ │ ├── ViewWithNestedLayout.cshtml │ │ │ └── ViewWithoutLayout.cshtml │ │ ├── PartialsWithLayout │ │ │ ├── LayoutForViewStartWithLayout.cshtml │ │ │ ├── PartialThatDoesNotSpecifyLayout.cshtml │ │ │ ├── PartialThatSpecifiesLayout.cshtml │ │ │ ├── PartialsRenderedViaPartialAsync.cshtml │ │ │ ├── PartialsRenderedViaRenderPartial.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── Shared │ │ │ ├── Components │ │ │ │ ├── ComponentForViewWithPaths │ │ │ │ │ └── Default.cshtml │ │ │ │ ├── ComponentThatSetsTitle │ │ │ │ │ └── Default.cshtml │ │ │ │ ├── ComponentWithLayout │ │ │ │ │ └── Default.cshtml │ │ │ │ ├── ComponentWithRelativePath.cshtml │ │ │ │ └── ComponentWithViewStart │ │ │ │ │ ├── Default.cshtml │ │ │ │ │ └── _ViewStart.cshtml │ │ │ ├── DisplayTemplates │ │ │ │ └── Name.cshtml │ │ │ ├── _ComponentLayout.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _LayoutWithFlush.cshtml │ │ │ ├── _LayoutWithPartialAndFlush.cshtml │ │ │ ├── _LayoutWithRenderSectionAsync.cshtml │ │ │ ├── _LayoutWithRenderSectionOnly.cshtml │ │ │ ├── _LayoutWithTitle.cshtml │ │ │ ├── _NestedLayoutWithFlush.cshtml │ │ │ ├── _Partial.cshtml │ │ │ ├── _PartialLayout.cshtml │ │ │ ├── _PartialThatSetsTitle.cshtml │ │ │ ├── _PartialWithFlush.cshtml │ │ │ └── _PartialWithModelFromEnumerable.cshtml │ │ ├── TagHelperComponent │ │ │ ├── Body.cshtml │ │ │ └── Head.cshtml │ │ ├── TemplateExpander │ │ │ ├── Index.cshtml │ │ │ ├── ViewWithLayout.cshtml │ │ │ ├── _LanguageLayout.cshtml │ │ │ ├── _Partial.cshtml │ │ │ ├── en-GB │ │ │ │ └── _Partial.cshtml │ │ │ └── fr │ │ │ │ ├── Index.cshtml │ │ │ │ ├── _LanguageLayout.cshtml │ │ │ │ └── _Partial.cshtml │ │ ├── UrlResolution │ │ │ └── Index.cshtml │ │ ├── ViewEngine │ │ │ ├── SearchInPages.cshtml │ │ │ ├── ViewWithComponentThatHasLayout.cshtml │ │ │ ├── ViewWithComponentThatHasViewStart.cshtml │ │ │ ├── ViewWithDataFromController.cshtml │ │ │ ├── ViewWithFullPath.cshtml │ │ │ ├── ViewWithLayout.cshtml │ │ │ ├── ViewWithNestedLayout.cshtml │ │ │ ├── ViewWithPartial.cshtml │ │ │ ├── ViewWithPartialTakingModelFromIEnumerable.cshtml │ │ │ ├── ViewWithRelativePath.cshtml │ │ │ ├── ViewWithTitle.cshtml │ │ │ ├── ViewWithoutLayout.cshtml │ │ │ └── _NestedLayout.cshtml │ │ ├── ViewNameSpecification_Home │ │ │ ├── LayoutSpecifiedWithPartialPathInPage.cshtml │ │ │ ├── LayoutSpecifiedWithPartialPathInViewStart.cshtml │ │ │ ├── NonSharedPartial.cshtml │ │ │ ├── PageWithNonPartialLayoutPath.cshtml │ │ │ ├── ViewWithPartials.cshtml │ │ │ ├── _NonSharedLayout.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── ViewWithPaths │ │ │ ├── Index.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _Partial.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── ViewsConsumingCompilationOptions │ │ │ ├── Index.cshtml │ │ │ └── _Partial.cshtml │ │ └── _ViewImports.cshtml │ └── readme.md │ ├── RoutingWebSite │ ├── Areas │ │ ├── Admin │ │ │ ├── LG3Controller.cs │ │ │ ├── Pages │ │ │ │ ├── LGAreaPage.cshtml │ │ │ │ └── LGAreaPage.cshtml.cs │ │ │ └── UserManagementController.cs │ │ ├── Order │ │ │ └── OrderController.cs │ │ └── Travel │ │ │ ├── FlightController.cs │ │ │ ├── HomeController.cs │ │ │ └── RailController.cs │ ├── ControllerRouteTokenTransformerConvention.cs │ ├── Controllers │ │ ├── BanksController.cs │ │ ├── BlogController.cs │ │ ├── CompanyController.cs │ │ ├── ConventionalTransformerController.cs │ │ ├── DataTokensController.cs │ │ ├── DefaultValuesController.cs │ │ ├── EmployeeController.cs │ │ ├── EndpointRoutingController.cs │ │ ├── FriendsController.cs │ │ ├── HomeController.cs │ │ ├── LG1Controller.cs │ │ ├── LG2Controller.cs │ │ ├── MapsController.cs │ │ ├── OrderController.cs │ │ ├── PageRouteController.cs │ │ ├── ParameterTransformerController.cs │ │ ├── RouteDataController.cs │ │ ├── RoutingController.cs │ │ ├── StoreController.cs │ │ └── TeamController.cs │ ├── HttpMergeAttribute.cs │ ├── Pages │ │ ├── Edit.cshtml │ │ ├── LGAnotherPage.cshtml │ │ ├── LGAnotherPage.cshtml.cs │ │ ├── LGPage.cshtml │ │ ├── LGPage.cshtml.cs │ │ ├── PageRouteTransformer │ │ │ ├── Index.cshtml │ │ │ ├── PageWithConfiguredRoute.cshtml │ │ │ └── TestPage.cshtml │ │ └── PageWithLinks.cshtml │ ├── Program.cs │ ├── RemoveControllerActionDescriptorProvider.cs │ ├── RoutingWebSite.csproj │ ├── Startup.cs │ ├── StartupForLinkGenerator.cs │ ├── StartupWith21Compat.cs │ ├── TestParameterTransformer.cs │ └── readme.md │ ├── SecurityWebSite │ ├── Controllers │ │ ├── AdministrationController.cs │ │ ├── AntiforgeryController.cs │ │ ├── HomeController.cs │ │ └── IgnoreAntiforgeryController.cs │ ├── CountingPolicyEvaluator.cs │ ├── Program.cs │ ├── SecurityWebSite.csproj │ ├── Startup.cs │ ├── StartupWith20CompatAndGlobalDenyAnonymousFilter.cs │ ├── StartupWithGlobalDenyAnonymousFilter.cs │ ├── Views │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ └── _Layout.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ └── appsettings.json │ ├── SimpleWebSite │ ├── Controllers │ │ └── HomeController.cs │ ├── SimpleWebSite.csproj │ ├── Startup.cs │ └── readme.md │ ├── TagHelpersWebSite │ ├── Components │ │ ├── CopyrightViewComponent.cs │ │ ├── DanViewComponent.cs │ │ ├── GenericViewComponent.cs │ │ └── JacketColor.cs │ ├── Controllers │ │ ├── EmployeeController.cs │ │ ├── EncodersController.cs │ │ ├── HomeController.cs │ │ └── RemoveDefaultInheritedTagHelpersController.cs │ ├── Models │ │ ├── Employee.cs │ │ └── WebsiteContext.cs │ ├── Startup.cs │ ├── TagHelpers │ │ ├── ATagHelper.cs │ │ ├── AddProcessedAttributeTagHelper.cs │ │ ├── AutoLinkerTagHelper.cs │ │ ├── BoldTagHelper.cs │ │ ├── ConditionTagHelper.cs │ │ ├── CustomEncoderTagHelper.cs │ │ ├── DefaultEncoderTagHelper.cs │ │ ├── DictionaryPrefixTestTagHelper.cs │ │ ├── NestedViewImportsTagHelper.cs │ │ ├── NullEncoderTagHelper.cs │ │ ├── PrettyTagHelper.cs │ │ ├── RootViewStartTagHelper.cs │ │ ├── SurroundTagHelper.cs │ │ ├── TagCloudViewComponentTagHelper.cs │ │ └── WebsiteInformationTagHelper.cs │ ├── TagHelpersWebSite.csproj │ ├── Views │ │ ├── Employee │ │ │ ├── Create.cshtml │ │ │ ├── Details.cshtml │ │ │ └── DuplicateAntiforgeryTokenRegistration.cshtml │ │ ├── Encoders │ │ │ ├── CustomEncoder.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── NullEncoder.cshtml │ │ │ ├── ThreeEncoders.cshtml │ │ │ ├── TwoEncoders.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── Home │ │ │ ├── About.cshtml │ │ │ ├── Help.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── NestedViewImportsTagHelper.cshtml │ │ │ ├── UnboundDynamicAttributes.cshtml │ │ │ ├── ViewComponentTagHelpers.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── InheritedTagHelperPrefix │ │ │ ├── InheritedTagHelperPrefix.cshtml │ │ │ ├── NestedInheritedTagHelperPrefix │ │ │ │ ├── NestedInheritedTagHelperPrefix.cshtml │ │ │ │ ├── NestedOverriddenTagHelperPrefix.cshtml │ │ │ │ └── _ViewImports.cshtml │ │ │ ├── OverriddenTagHelperPrefix.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── RemoveDefaultInheritedTagHelpers │ │ │ ├── Index.cshtml │ │ │ └── _ViewImports.cshtml │ │ ├── RemoveInheritedTagHelpers │ │ │ ├── ViewWithInheritedRemoveTagHelper.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── Shared │ │ │ ├── Components │ │ │ │ ├── Copyright │ │ │ │ │ └── Default.cshtml │ │ │ │ ├── Dan │ │ │ │ │ └── Default.cshtml │ │ │ │ └── Generic │ │ │ │ │ └── Default.cshtml │ │ │ ├── ViewWithLayoutAndNestedTagHelper.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _LayoutWithRootTagHelper.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ └── readme.md │ ├── VersioningWebSite │ ├── Controllers │ │ ├── AddressController.cs │ │ ├── BooksController.cs │ │ ├── CustomersController.cs │ │ ├── ItemsController.cs │ │ ├── ItemsV2Controller.cs │ │ ├── MoviesController.cs │ │ ├── MoviesV2Controller.cs │ │ ├── PetsController.cs │ │ ├── RoutingController.cs │ │ ├── TicketsController.cs │ │ └── VouchersController.cs │ ├── Program.cs │ ├── Startup.cs │ ├── StartupWith21Compat.cs │ ├── VersionAttribute.cs │ ├── VersionDeleteAttribute.cs │ ├── VersionGetAttribute.cs │ ├── VersionPostAttribute.cs │ ├── VersionPutAttribute.cs │ ├── VersionRangeValidator.cs │ ├── VersionRouteAttribute.cs │ ├── VersioningWebSite.csproj │ └── readme.md │ ├── WebApiCompatShimWebSite │ ├── ActionSelectionFilter.cs │ ├── Controllers │ │ ├── ActionResults │ │ │ └── ActionResultController.cs │ │ ├── ActionSelection │ │ │ ├── Legacy │ │ │ │ ├── EnumParameterOverloadsController.cs │ │ │ │ ├── ParameterAttributeController.cs │ │ │ │ └── TestController.cs │ │ │ ├── WebAPIActionConventionsActionNameController.cs │ │ │ ├── WebAPIActionConventionsController.cs │ │ │ ├── WebAPIActionConventionsDefaultPostController.cs │ │ │ └── WebAPIActionConventionsVerbOverrideController.cs │ │ ├── BasicApiController.cs │ │ ├── HttpRequestMessage │ │ │ └── HttpRequestMessageController.cs │ │ ├── HttpResponseExceptionController.cs │ │ ├── MvcController.cs │ │ └── ParameterBinding │ │ │ └── EmployeesController.cs │ ├── Models │ │ ├── Employee.cs │ │ ├── User.cs │ │ ├── UserAddress.cs │ │ └── UserKind.cs │ ├── Startup.cs │ ├── WebApiCompatShimWebSite.csproj │ └── readme.md │ └── XmlFormattersWebSite │ ├── Controllers │ ├── HomeController.cs │ ├── IEnumerableController.cs │ ├── IQueryableController.cs │ ├── SerializableErrorController.cs │ ├── ValidationController.cs │ ├── XmlApiControllerBase.cs │ ├── XmlDataContractApiController.cs │ └── XmlSerializedApiController.cs │ ├── Models │ ├── Address.cs │ ├── DummyClass.cs │ ├── Employee.cs │ ├── Person.cs │ └── Store.cs │ ├── PersonWrapper.cs │ ├── PersonWrapperProvider.cs │ ├── PersonWrapperProviderFactory.cs │ ├── Startup.cs │ ├── StartupWith21Compat.cs │ ├── XmlFormattersWebSite.csproj │ └── readme.md └── version.props /.appveyor.yml: -------------------------------------------------------------------------------- 1 | init: 2 | - git config --global core.autocrlf true 3 | branches: 4 | only: 5 | - master 6 | - /^release\/.*$/ 7 | - /^(.*\/)?ci-.*$/ 8 | build_script: 9 | - ps: .\run.ps1 -CI default-build 10 | clone_depth: 1 11 | test: 'off' 12 | deploy: 'off' 13 | image: Visual Studio 2017 14 | -------------------------------------------------------------------------------- /.vsts-pipelines/builds/ci-internal.yml: -------------------------------------------------------------------------------- 1 | trigger: 2 | - master 3 | - release/* 4 | 5 | resources: 6 | repositories: 7 | - repository: buildtools 8 | type: git 9 | name: aspnet-BuildTools 10 | ref: refs/heads/master 11 | 12 | phases: 13 | - template: .vsts-pipelines/templates/project-ci.yml@buildtools 14 | -------------------------------------------------------------------------------- /.vsts-pipelines/builds/ci-public.yml: -------------------------------------------------------------------------------- 1 | trigger: 2 | - master 3 | - release/* 4 | 5 | phases: 6 | - template: ../templates/project-ci.yml 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing 2 | ====== 3 | 4 | Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo. 5 | -------------------------------------------------------------------------------- /benchmarkapps/BasicApi/Models/Category.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicApi.Models 5 | { 6 | public class Category 7 | { 8 | public int Id { get; set; } 9 | 10 | public string Name { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /benchmarkapps/BasicApi/Models/Image.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicApi.Models 5 | { 6 | public class Image 7 | { 8 | public int Id { get; set; } 9 | 10 | public string Url { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /benchmarkapps/BasicApi/Models/Tag.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicApi.Models 5 | { 6 | public class Tag 7 | { 8 | public int Id { get; set; } 9 | 10 | public string Name { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /benchmarkapps/BasicApi/runtimeconfig.template.json: -------------------------------------------------------------------------------- 1 | { 2 | "configProperties": { 3 | "System.GC.Server": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/post.lua: -------------------------------------------------------------------------------- 1 | -- script that POSTs body for requests 2 | 3 | function init(args) 4 | wrk.body = "Age=12&BirthDate=2006-03-01T09%3A51%3A43.041-07%3A00&Name=George" 5 | wrk.headers["Content-Type"] = "application/x-www-form-urlencoded" 6 | wrk.method = "POST" 7 | end 8 | -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/runtimeconfig.template.json: -------------------------------------------------------------------------------- 1 | { 2 | "configProperties": { 3 | "System.GC.Server": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | label { 2 | font-size: 1.2em; 3 | } 4 | .test-it { 5 | float: right; 6 | } -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | label { 2 | font-size: 1.3em; 3 | } 4 | .test-it { 5 | float: right; 6 | } -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | console.log("Hello World"); 2 | function test() { 3 | } -------------------------------------------------------------------------------- /benchmarkapps/BasicViews/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- 1 | console.log("Hello Minified World"); 2 | function test() { 3 | } -------------------------------------------------------------------------------- /benchmarkapps/RazorRendering/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -------------------------------------------------------------------------------- /benchmarkapps/RazorRendering/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } -------------------------------------------------------------------------------- /benchmarkapps/RazorRendering/Readme.md: -------------------------------------------------------------------------------- 1 | Url: /Category/PageA -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/ViewAssemblyMarker.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Performance 2 | { 3 | public class ViewAssemblyMarker 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelloWorld.cshtml: -------------------------------------------------------------------------------- 1 | Hello world -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperDynamic.cshtml: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Microsoft.AspNetCore.Html 3 | @model System.String 4 | @{Func SomeHelper = @@{ 5 | @item 6 | };} 7 | @for (var i = 0; i < 100; i++){@SomeHelper(Model + i.ToString())} -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperExtensions.cshtml: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Microsoft.AspNetCore.Html 3 | @model System.String 4 | @{ 5 | var SomeHelper = this.Helper((string s) => @@item); 6 | } 7 | @for (var i = 0; i < 100; i++) 8 | { 9 | @SomeHelper(Model + i.ToString()) 10 | } -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartialAsync.cshtml: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Microsoft.AspNetCore.Html 3 | @model System.String 4 | @for (var i = 0; i < 100; i++) 5 | { 6 | await Html.RenderPartialAsync("~/Views/HelperPartial_Partial.cshtml", Model + i.ToString()); 7 | } -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartialSync.cshtml: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Microsoft.AspNetCore.Html 3 | @model System.String 4 | @for (var i = 0; i < 100; i++) 5 | { 6 | Html.RenderPartial("~/Views/HelperPartial_Partial.cshtml", Model + i.ToString()); 7 | } -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartialTagHelper.cshtml: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Microsoft.AspNetCore.Html 3 | @model System.String 4 | @addTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.PartialTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers 5 | @for (var i = 0; i < 100; i++) 6 | {} -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartial_Partial.cshtml: -------------------------------------------------------------------------------- 1 | @model System.String 2 | @Model -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperTyped.cshtml: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Microsoft.AspNetCore.Html 3 | @model System.String 4 | @{Func SomeHelper = @@{ 5 | @item 6 | };} 7 | @for (var i = 0; i < 100; i++){@SomeHelper(Model + i.ToString())} -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | [assembly: BenchmarkDotNet.Attributes.AspNetCoreBenchmark] 2 | -------------------------------------------------------------------------------- /benchmarks/Microsoft.AspNetCore.Mvc.Performance/readme.md: -------------------------------------------------------------------------------- 1 | Compile the solution in Release mode (so binaries are available in release) 2 | 3 | To run a specific benchmark add it as parameter 4 | ``` 5 | dotnet run -c Release 6 | ``` 7 | To run all use `All` as parameter 8 | ``` 9 | dotnet run -c Release All 10 | ``` 11 | Using no parameter will list all available benchmarks -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE" 3 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -euo pipefail 4 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 5 | 6 | # Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs) 7 | chmod +x "$DIR/run.sh"; sync 8 | "$DIR/run.sh" default-build "$@" 9 | -------------------------------------------------------------------------------- /build/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aspnet/Mvc/04ce6cae44fb0cb11470c21769d41e3f8088e8aa/build/Key.snk -------------------------------------------------------------------------------- /build/buildpipeline/linux.groovy: -------------------------------------------------------------------------------- 1 | @Library('dotnet-ci') _ 2 | 3 | simpleNode('Ubuntu16.04', 'latest-or-auto-docker') { 4 | stage ('Checking out source') { 5 | checkout scm 6 | } 7 | stage ('Build') { 8 | sh './build.sh --ci' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /build/buildpipeline/osx.groovy: -------------------------------------------------------------------------------- 1 | @Library('dotnet-ci') _ 2 | 3 | simpleNode('OSX10.12','latest') { 4 | stage ('Checking out source') { 5 | checkout scm 6 | } 7 | stage ('Build') { 8 | sh './build.sh --ci' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /build/buildpipeline/windows.groovy: -------------------------------------------------------------------------------- 1 | @Library('dotnet-ci') _ 2 | 3 | // 'node' indicates to Jenkins that the enclosed block runs on a node that matches 4 | // the label 'windows-with-vs' 5 | simpleNode('Windows_NT','latest') { 6 | stage ('Checking out source') { 7 | checkout scm 8 | } 9 | stage ('Build') { 10 | bat '.\\run.cmd -CI default-build' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /buildWithProcDump.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0runWithProcDump.ps1' %*; exit $LASTEXITCODE" 3 | -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "version": "3.0.100-preview-009750" 4 | }, 5 | "msbuild-sdks": { 6 | "Internal.AspNetCore.Sdk": "3.0.0-build-20181114.5" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /korebuild-lock.txt: -------------------------------------------------------------------------------- 1 | version:3.0.0-build-20181114.5 2 | commithash:880e9a204d4ee4a18dfd83c9fb05a192a28bca60 3 | -------------------------------------------------------------------------------- /korebuild.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", 3 | "channel": "master" 4 | } 5 | -------------------------------------------------------------------------------- /run.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE" 3 | -------------------------------------------------------------------------------- /samples/MvcSandbox/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /samples/MvcSandbox/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything 2 | * 3 | -------------------------------------------------------------------------------- /samples/MvcSandbox/Models/Index.cs: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /samples/MvcSandbox/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @namespace MvcSandbox.Pages 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /samples/MvcSandbox/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = "_Layout";} -------------------------------------------------------------------------------- /samples/MvcSandbox/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |
6 |
7 |

Sandbox

8 |
    9 |
  • This sandbox should give you a quick view of a basic MVC application.
  • 10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /samples/MvcSandbox/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using MvcSandbox 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /samples/MvcSandbox/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/GetDocumentInsider/CommandLineUtils/CommandOptionType.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.DotNet.Cli.CommandLine 5 | { 6 | internal enum CommandOptionType 7 | { 8 | MultipleValue, 9 | SingleValue, 10 | BoolValue, 11 | NoValue 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Abstractions/Filters/IFilterMetadata.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Filters 5 | { 6 | /// 7 | /// Marker interface for filters handled in the MVC request pipeline. 8 | /// 9 | public interface IFilterMetadata 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Abstractions/ModelBinding/ModelValidationState.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ModelBinding 5 | { 6 | public enum ModelValidationState 7 | { 8 | Unvalidated, 9 | Invalid, 10 | Valid, 11 | Skipped 12 | } 13 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Abstractions/ModelBinding/Validation/IClientModelValidator.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation 5 | { 6 | public interface IClientModelValidator 7 | { 8 | void AddValidation(ClientModelValidationContext context); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IApiExplorerModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels 5 | { 6 | public interface IApiExplorerModel 7 | { 8 | ApiExplorerModel ApiExplorer { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IBindingModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc.ModelBinding; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels 7 | { 8 | public interface IBindingModel 9 | { 10 | BindingInfo BindingInfo { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IFilterModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Collections.Generic; 5 | using Microsoft.AspNetCore.Mvc.Filters; 6 | 7 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels 8 | { 9 | public interface IFilterModel 10 | { 11 | IList Filters { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IPropertyModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Collections.Generic; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels 7 | { 8 | public interface IPropertyModel 9 | { 10 | IDictionary Properties { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/Formatters/HttpParseResult.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Formatters 5 | { 6 | internal enum HttpParseResult 7 | { 8 | Parsed, 9 | NotParsed, 10 | InvalidFormat, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/IActionContextAccessor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Infrastructure 5 | { 6 | public interface IActionContextAccessor 7 | { 8 | ActionContext ActionContext { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/Routing/IActionHttpMethodProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Collections.Generic; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Routing 7 | { 8 | public interface IActionHttpMethodProvider 9 | { 10 | IEnumerable HttpMethods { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Core/Routing/IConsumesMetadata.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Collections.Generic; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Routing 7 | { 8 | internal interface IConsumesMetadata 9 | { 10 | IReadOnlyList ContentTypes { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Cors/breakingchanges.netcore.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "TypeId": "public class Microsoft.AspNetCore.Mvc.Cors.CorsAuthorizationFilter : Microsoft.AspNetCore.Mvc.Cors.Internal.ICorsAuthorizationFilter", 4 | "Kind": "Removal" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Localization/IViewLocalizer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Localization 5 | { 6 | /// 7 | /// Represents a type that provides HTML-aware localization for views. 8 | /// 9 | public interface IViewLocalizer : IHtmlLocalizer 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Razor/Compilation/IViewCompiler.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Threading.Tasks; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Razor.Compilation 7 | { 8 | public interface IViewCompiler 9 | { 10 | Task CompileAsync(string relativePath); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Razor/Compilation/IViewCompilerProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Razor.Compilation 5 | { 6 | public interface IViewCompilerProvider 7 | { 8 | IViewCompiler GetCompiler(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Razor/IModelTypeProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Razor 7 | { 8 | internal interface IModelTypeProvider 9 | { 10 | Type GetModelType(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Razor/Internal/RazorInjectAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Razor.Internal 7 | { 8 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] 9 | public class RazorInjectAttribute : Attribute 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.Razor/RenderAsyncDelegate.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Threading.Tasks; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Razor 7 | { 8 | public delegate Task RenderAsyncDelegate(); 9 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/IPageHandlerMethodSelector.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure 5 | { 6 | public interface IPageHandlerMethodSelector 7 | { 8 | HandlerMethodDescriptor Select(PageContext context); 9 | } 10 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/PageHandlerExecutorDelegate.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Threading.Tasks; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure 7 | { 8 | internal delegate Task PageHandlerExecutorDelegate(object handler, object[] arguments); 9 | } 10 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.RazorPages/Page.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.RazorPages 5 | { 6 | /// 7 | /// A base class for a Razor page. 8 | /// 9 | public abstract class Page : PageBase 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.TagHelpers/_grunt.readme: -------------------------------------------------------------------------------- 1 | To recreate minified js files, rename _gruntfile.js to gruntfile.js, _package.json to package.json, and run build. -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.TagHelpers/_package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "Microsoft.AspNetCore.Mvc.TagHelpers", 4 | "private": true, 5 | "devDependencies": { 6 | "grunt": "~0.4.5", 7 | "grunt-contrib-jshint": "~0.11.0", 8 | "grunt-contrib-uglify": "~0.7.0" 9 | } 10 | } -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.TagHelpers/compiler/resources/LinkTagHelper_FallbackJavaScript.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e")}(); -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/Buffers/ICharBufferSource.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers 5 | { 6 | internal interface ICharBufferSource 7 | { 8 | char[] Rent(int bufferSize); 9 | 10 | void Return(char[] buffer); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/Filters/IViewDataValuesProviderFeature.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Filters 5 | { 6 | internal interface IViewDataValuesProviderFeature 7 | { 8 | void ProvideViewDataValues(ViewDataDictionary viewData); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/InputType.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures 5 | { 6 | public enum InputType 7 | { 8 | CheckBox, 9 | Hidden, 10 | Password, 11 | Radio, 12 | Text 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/Rendering/FormMethod.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Rendering 5 | { 6 | public enum FormMethod 7 | { 8 | Get, 9 | Post 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/Rendering/TagRenderMode.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.Rendering 5 | { 6 | public enum TagRenderMode 7 | { 8 | Normal, 9 | StartTag, 10 | EndTag, 11 | SelfClosing 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/TryGetValueDelegate.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures 5 | { 6 | public delegate bool TryGetValueDelegate(object dictionary, string key, out object value); 7 | } 8 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.Mvc.ViewFeatures/ViewComponents/IViewComponentInvokerFactory.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ViewComponents 5 | { 6 | public interface IViewComponentInvokerFactory 7 | { 8 | IViewComponentInvoker CreateInstance(ViewComponentContext context); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.Core.Test/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "shadowCopy": false 3 | } 4 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.DataAnnotations.Test/TestModelNameProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc.ModelBinding; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.DataAnnotations 7 | { 8 | public class TestModelNameProvider : IModelNameProvider 9 | { 10 | public string Name { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.Formatters.Xml.Test/Models/Person.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Formatters.Xml 7 | { 8 | public class Person 9 | { 10 | public int Id { get; set; } 11 | 12 | public string Name { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.Formatters.Xml.Test/Models/PersonList.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Collections.Generic; 5 | 6 | namespace Microsoft.AspNetCore.Mvc.Formatters.Xml 7 | { 8 | public class PersonList : List 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/Infrastructure/TestCulture.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.FunctionalTests 5 | { 6 | public class TestCulture 7 | { 8 | public string Culture { get; set; } 9 | public string UICulture { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.Home.ActionLinkView.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Action Link with non unicode host 5 | 6 | 7 | Pingüino 8 | 9 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.Home.PlainView.html: -------------------------------------------------------------------------------- 1 | Plain View -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.Home.ViewWithPrefixedAttributeValue.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.PassThrough.Index.html: -------------------------------------------------------------------------------- 1 |

The passed through value was: 123

-------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/HtmlGenerationWebSite.HtmlGeneration_Home.PartialTagHelperWithoutModel.html: -------------------------------------------------------------------------------- 1 | PartialTagHelperWithoutModel: Hello from partial -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/RazorWebSite.AddTagHelperComponent.AddComponent.html: -------------------------------------------------------------------------------- 1 | 2 | Hello from Head Tag Helper Component 3 | 4 | 5 | Hello from Body Tag Helper Component 6 | Processed TagHelperComponent added from controller.Processed TagHelperComponent added from view. -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/RazorWebSite.TagHelperComponent.Body.html: -------------------------------------------------------------------------------- 1 | 2 | Hello from Body Tag Helper Component 3 |

NewValue

4 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/RazorWebSite.TagHelperComponent.Head.html: -------------------------------------------------------------------------------- 1 | 2 | Hello from Head Tag Helper Component 3 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/TagHelpersWebSite.Employee.DuplicateAntiforgeryTokenRegistration.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.FunctionalTests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "diagnosticMessages": true, 3 | "shadowCopy": false, 4 | "longRunningTestSeconds": 60 5 | } 6 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.Razor.Test/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "shadowCopy": false 3 | } 4 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.Test/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "shadowCopy": false 3 | } 4 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyActionContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyActionContext 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyActionDescriptor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyActionDescriptor 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyActionResult.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyActionResult 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyHttpContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyHttpContext 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyPage.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyPage 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyView.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyView 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyViewComponentContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyViewComponentContext 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyViewComponentResult.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyViewComponentResult 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyViewContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc 5 | { 6 | public interface IProxyViewContext 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Model/Model.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Model 5 | { 6 | public class Model 7 | { 8 | public string Name { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/AttributesShouldNotBeAppliedToPageModelAnalyzerTest/DiagnosticsAreReturned_IfRouteAttribute_IsAppliedToPageModel.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.RazorPages; 2 | 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers.Test 4 | { 5 | [/*MM*/Route("/mypage")] 6 | public class DiagnosticsAreReturned_IfRouteAttribute_IsAppliedToPageModel : PageModel 7 | { 8 | public void OnGet() 9 | { 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/AttributesShouldNotBeAppliedToPageModelAnalyzerTest/DiagnosticsAreReturned_IfRouteAttributesAreAppliedToPageHandlerMethod.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.RazorPages; 2 | 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers.Test 4 | { 5 | public class DiagnosticsAreReturned_IfRouteAttributesAreAppliedToPageHandlerMethod : PageModel 6 | { 7 | [/*MM*/HttpHead] 8 | public void OnGet() 9 | { 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_OnMethodWithoutAttributes.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | public class GetAttributes_OnMethodWithoutAttributesClass 4 | { 5 | public void Method() { } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_OnTypeWithAttributes.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | [ApiConventionType(typeof(object))] 4 | [ApiController] 5 | [ApiConventionType(typeof(string))] 6 | public class GetAttributes_OnTypeWithAttributes 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_OnTypeWithoutAttributes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers 4 | { 5 | public class GetAttributes_OnTypeWithoutAttributesType 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_WithoutMethodOverriding.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | public class GetAttributes_WithoutMethodOverriding 4 | { 5 | [ProducesResponseType(201)] 6 | public void Method() { } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/HasAttribute_ReturnsTrueForAttributesOnMethods.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers 4 | { 5 | public class HasAttribute_ReturnsTrueForAttributesOnMethodsAttribute : Attribute { } 6 | 7 | public class HasAttribute_ReturnsTrueForAttributesOnMethodsTest 8 | { 9 | [HasAttribute_ReturnsTrueForAttributesOnMethodsAttribute] 10 | public void SomeMethod() { } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/HasAttribute_ReturnsTrueIfBaseTypeHasAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | [Controller] 4 | public class HasAttribute_ReturnsTrueIfBaseTypeHasAttributeBase { } 5 | 6 | public class HasAttribute_ReturnsTrueIfBaseTypeHasAttribute : HasAttribute_ReturnsTrueIfBaseTypeHasAttributeBase { } 7 | } 8 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/HasAttribute_ReturnsTrueIfTypeHasAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | [Controller] 4 | public class HasAttribute_ReturnsTrueIfTypeHasAttribute { } 5 | } 6 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsFalseForDifferentTypes.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | public class IsAssignable_ReturnsFalseForDifferentTypesA 4 | { 5 | } 6 | 7 | public class IsAssignable_ReturnsFalseForDifferentTypesB 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsTrueIfTypeImplementsInterface.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | public interface IsAssignable_ReturnsTrueIfTypeImplementsInterface 4 | { 5 | } 6 | 7 | public class IsAssignable_ReturnsTrueIfTypeImplementsInterfaceTest : IsAssignable_ReturnsTrueIfTypeImplementsInterface { } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsTrueIfTypeIsBaseClass.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | public class IsAssignable_ReturnsTrueIfTypeIsBaseClassBase 4 | { 5 | } 6 | 7 | public class IsAssignable_ReturnsTrueIfTypeIsBaseClass : IsAssignable_ReturnsTrueIfTypeIsBaseClassBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsTrueIfTypesAreExact.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers 2 | { 3 | public class IsAssignable_ReturnsTrueIfTypesAreExact 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresFields.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles 2 | { 3 | public class IsProblematicParameter_IgnoresFields 4 | { 5 | public string model; 6 | 7 | public void ActionMethod(IsProblematicParameter_IgnoresFields model) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresMethods.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles 2 | { 3 | public class IsProblematicParameter_IgnoresMethods 4 | { 5 | public string Item() => null; 6 | 7 | public void ActionMethod(IsProblematicParameter_IgnoresMethods item) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresNonPublicProperties.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles 2 | { 3 | public class IsProblematicParameter_IgnoresNonPublicProperties 4 | { 5 | protected string Model { get; set; } 6 | 7 | public void ActionMethod(IsProblematicParameter_IgnoresNonPublicProperties model) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresStaticProperties.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles 2 | { 3 | public class IsProblematicParameter_IgnoresStaticProperties 4 | { 5 | public static string Model { get; set; } 6 | 7 | public void ActionMethod(IsProblematicParameter_IgnoresStaticProperties model) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_ReturnsFalse_ForFromBodyParameter.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles 2 | { 3 | public class IsProblematicParameter_ReturnsFalse_ForFromBodyParameter 4 | { 5 | public string Model { get; set; } 6 | 7 | public void ActionMethod([FromBody] IsProblematicParameter_ReturnsFalse_ForFromBodyParameter model) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/Mvc.Analyzers.Test/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "shadowCopy": false 3 | } 4 | -------------------------------------------------------------------------------- /test/Mvc.Api.Analyzers.Test/TestFiles/ApiControllerFactsTest/IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssembly.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | [assembly: ApiController] 4 | 5 | namespace Microsoft.AspNetCore.Mvc.Api.Analyzers.TestFiles.ApiControllerFactsTest 6 | { 7 | public class IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssemblyController : ControllerBase 8 | { 9 | public IActionResult Action() => null; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/Mvc.Api.Analyzers.Test/TestFiles/SymbolApiResponseMetadataProviderTest/GetErrorResponseType_ReturnsProblemDetails_IfNoAttributeIsDiscovered.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.AspNetCore.Mvc.Api.Analyzers.TestFiles.SymbolApiResponseMetadataProviderTest 2 | { 3 | public class GetErrorResponseType_ReturnsProblemDetails_IfNoAttributeIsDiscoveredController 4 | { 5 | public void Action() { } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/MvcTests.ruleset: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/WebSites/ApiExplorerWebSite/Models/Customer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace ApiExplorerWebSite 5 | { 6 | public class Customer 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /test/WebSites/ApiExplorerWebSite/PassThruAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace ApiExplorerWebSite 7 | { 8 | [AttributeUsage(AttributeTargets.Method)] 9 | public class PassThruAttribute : Attribute 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/WebSites/ApiExplorerWebSite/ReloadAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ApiExplorerWebSite 4 | { 5 | public class ReloadAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/WebSites/ApiExplorerWebSite/WellKnownChangeToken.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Threading; 5 | 6 | namespace ApiExplorerWebSite 7 | { 8 | public class WellKnownChangeToken 9 | { 10 | public CancellationTokenSource TokenSource { get; } = new CancellationTokenSource(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/WebSites/ApiExplorerWebSite/readme.md: -------------------------------------------------------------------------------- 1 | ApiExplorerWebSite 2 | === 3 | 4 | This web site illustrates various ways to enable and disable api explorer discovery for actions. 5 | This also demonstrates how to consume api explorer data. 6 | -------------------------------------------------------------------------------- /test/WebSites/ApplicationModelWebSite/Areas/Manage/Views/MultipleAreas/Index.cshtml: -------------------------------------------------------------------------------- 1 | Manage View -------------------------------------------------------------------------------- /test/WebSites/ApplicationModelWebSite/Areas/Products/Views/MultipleAreas/Index.cshtml: -------------------------------------------------------------------------------- 1 | Products View -------------------------------------------------------------------------------- /test/WebSites/ApplicationModelWebSite/Areas/Services/Views/MultipleAreas/Index.cshtml: -------------------------------------------------------------------------------- 1 | Services View 2 | -------------------------------------------------------------------------------- /test/WebSites/ApplicationModelWebSite/Views/ActionModel/Help.cshtml: -------------------------------------------------------------------------------- 1 | This is the help page 2 | -------------------------------------------------------------------------------- /test/WebSites/ApplicationModelWebSite/Views/ActionModel/MoreHelp.cshtml: -------------------------------------------------------------------------------- 1 | This is the more help page 2 | -------------------------------------------------------------------------------- /test/WebSites/ApplicationModelWebSite/readme.md: -------------------------------------------------------------------------------- 1 | ApplicationModelWebSite 2 | === 3 | 4 | This web site illustrates how to use customize application model by having custom implementations of 5 | `IActionModelConvention`, `IControllerModelConvention` and `IParameterModelConvention`. 6 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Components/ViewDataViewComponent.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace BasicWebSite.Components 7 | { 8 | public class ViewDataViewComponent : ViewComponent 9 | { 10 | public IViewComponentResult Invoke() => View(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Controllers/UsersController.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace BasicWebSite.Controllers 7 | { 8 | public class UsersController : Controller 9 | { 10 | public IActionResult Index() 11 | { 12 | return Content("Users.Index"); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Models/GenderType.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicWebSite.Models 5 | { 6 | public enum GenderType 7 | { 8 | Male, 9 | Female, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Models/Person.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicWebSite.Models 5 | { 6 | public class Person 7 | { 8 | public int id { get; set; } 9 | 10 | public string FullName { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Models/Product_Json.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicWebSite.Models 5 | { 6 | public class Product_Json : Product 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Models/Product_Xml.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicWebSite.Models 5 | { 6 | public class Product_Xml : Product 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Models/Product_text.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace BasicWebSite.Models 5 | { 6 | public class Product_Text : Product 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Operations.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Authorization.Infrastructure; 5 | 6 | namespace BasicWebSite 7 | { 8 | public static class Operations 9 | { 10 | public static OperationAuthorizationRequirement Edit = new OperationAuthorizationRequirement { Name = "Edit" }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Antiforgery/AntiforgeryTokenAndResponseCaching.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @{ 3 | ViewData["Title"] = "Antiforgery token and response caching"; 4 | } 5 | 6 |

@ViewData["Title"]

7 | 8 | @using (Html.BeginForm("Login", "Antiforgery", FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 9 | { 10 | 11 | 12 | 13 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Antiforgery/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout.cshtml"; 3 | ViewData["Title"] = "Home Page"; 4 | } 5 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Antiforgery/_LoginPartial.cshtml: -------------------------------------------------------------------------------- 1 |  4 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Home/ActionLinkView.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Action Link with non unicode host 5 | 6 | 7 | @Html.ActionLink("Pingüino", "ActionLinkView", "Home", "http", "pingüino", null, routeValues: null, htmlAttributes: null) 8 | 9 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | ViewBag.Title = "Home Page"; 4 | } 5 | 6 |
7 |

ASP.NET vNext

8 |
-------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Home/JsonHelperInView.cshtml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Home/PlainView.cshtml: -------------------------------------------------------------------------------- 1 | Plain View -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Home/ViewWithPrefixedAttributeValue.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | var attrValue = "Baz"; 3 | } 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/ActionLink_ActionOnOtherController.cshtml: -------------------------------------------------------------------------------- 1 | @* Generate link to a different controller and with non-route parameters *@ 2 | @Html.ActionLink("linktext", "Details", new { controller = "Products", print = "true" }) -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/ActionLink_ActionOnSameController.cshtml: -------------------------------------------------------------------------------- 1 | @* Generate link to action on current controller *@ 2 | @Html.ActionLink("linktext", "Details") -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/ActionLink_HostNameFragmentAttributes.cshtml: -------------------------------------------------------------------------------- 1 | @Html.ActionLink( 2 | linkText: "linktext", 3 | actionName: "Details", 4 | controllerName: "Products", 5 | protocol: "https", 6 | hostname: "www.contoso.com:9000", 7 | fragment: "details", 8 | routeValues: new { print = "true" }, 9 | htmlAttributes: new { p1 = "p1-value" }) -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/ActionLink_SecurePage_ImplicitHostName.cshtml: -------------------------------------------------------------------------------- 1 | @* Notice that the 'hostname' here is null but the protocol is 'https'. Its a link to a secure page on this application *@ 2 | @Html.ActionLink( 3 | linkText: "linktext", 4 | actionName: "Details", 5 | controllerName: "Products", 6 | protocol: "https", 7 | hostname: null, 8 | fragment:null, 9 | routeValues: new { print = "true" }, 10 | htmlAttributes: null) -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/RouteLink_HostNameFragmentAttributes.cshtml: -------------------------------------------------------------------------------- 1 | @Html.RouteLink( 2 | linkText: "linktext", 3 | routeName:"OrdersApi", 4 | protocol: "https", 5 | hostName:"www.contoso.com:9000", 6 | fragment: "details", 7 | routeValues: new { controller = "Orders", id = 10, print = true }, 8 | htmlAttributes: new { p1 = "p1-value" }) 9 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/RouteLink_RestLinkToOtherController.cshtml: -------------------------------------------------------------------------------- 1 | @Html.RouteLink("linktext", "OrdersApi", new { controller = "Orders", id = 10 }) -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Links/RouteLink_SecureApi_ImplicitHostName.cshtml: -------------------------------------------------------------------------------- 1 | @Html.RouteLink( 2 | linkText: "linktext", 3 | routeName: "OrdersApi", 4 | protocol: "https", 5 | hostName:null, 6 | fragment: null, 7 | routeValues: new { controller = "Orders", id = 10 }, 8 | htmlAttributes: null) 9 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/PageRoute/AttributeRouteView.cshtml: -------------------------------------------------------------------------------- 1 | AttributeRoute - Hello from @ViewBag.Page 2 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/PageRoute/ConventionalRouteView.cshtml: -------------------------------------------------------------------------------- 1 | ConventionalRoute - Hello from @ViewBag.Page 2 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/RequestScopedService/TagHelper.cshtml: -------------------------------------------------------------------------------- 1 | @using BasicWebSite 2 | @addTagHelper BasicWebSite.RequestScopedTagHelper, BasicWebSite 3 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/RequestScopedService/View.cshtml: -------------------------------------------------------------------------------- 1 | @using BasicWebSite 2 | @inject RequestIdService RequestIdService 3 | @RequestIdService.RequestId -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/RequestScopedService/ViewComponent.cshtml: -------------------------------------------------------------------------------- 1 | @await Component.InvokeAsync("RequestId") -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Shared/Components/PassThrough/Default.cshtml: -------------------------------------------------------------------------------- 1 | @model long 2 |

The passed through value was: @Model

-------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Shared/Components/ViewData/Default.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | @ViewData["Title"] 4 | 5 | 6 | @ViewData["Message"] 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | ViewBag.Title = "Error"; 4 | } 5 | 6 |

Error.

7 |

An error occurred while processing your request.

-------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/TempData/DisplayTempData.cshtml: -------------------------------------------------------------------------------- 1 | @TempData["key"] -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/TempData/Index.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Hello 7 | 8 | 9 | Hello 10 | 11 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/TempDataProperty/DetailsView.cshtml: -------------------------------------------------------------------------------- 1 | @model BasicWebSite.Models.Person 2 | @ViewData["Message"]@ViewData["NullableInt"] for person @Model.FullName with id @Model.id. 3 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/ViewDataProperty/ViewDataInViewComponent.cshtml: -------------------------------------------------------------------------------- 1 | Sample that shows value of ViewDataAttribute being passed to a ViewComponent 2 | @ViewData["Message"] 3 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/ViewDataProperty/ViewDataPropertyToView.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = "_Layout"; } 2 | Sample that shows ViewDataAttribute being applied to a controller 3 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/Views/ViewDataProperty/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @ViewData["Title"] 4 | 5 | 6 | @ViewData["Message"] 7 | @ViewData["FilterMessage"] 8 | @RenderBody() 9 | 10 | 11 | -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/VndErrorAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | using Microsoft.AspNetCore.Mvc.Filters; 6 | 7 | namespace BasicWebSite 8 | { 9 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] 10 | public class VndErrorAttribute : Attribute, IFilterMetadata 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/_bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BasicWebSite", 3 | "description": "Web site demonstrating various validations.", 4 | "private": true, 5 | "dependencies": { 6 | "jquery-validation-unobtrusive": "3.2.6" 7 | }, 8 | "exportsOverride": { 9 | "jquery-validation-unobtrusive": { 10 | "": "jquery.validate.unobtrusive.min.js" 11 | }, 12 | "*": { } 13 | } 14 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/_bower.readme: -------------------------------------------------------------------------------- 1 | To recreate minified JavaScript file, 2 | 3 | 1. Update jquery-validation-unobtrusive version in _bower.json if necessary. 4 | 2. Rename or copy _bower.json to bower.json, _gruntfile.js to gruntfile.js, and _package.json to package.json. 5 | 3. Run build from the repo root. (Minimum command is `./build.sh --quiet run-grunt`.) 6 | 4. Remove bower.json, gruntfile.js and package.json. 7 | 5. Check in _bower.json and new jquery.validate.unobtrusive.min.js file. -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/_package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.0", 3 | "name": "BasicWebSite", 4 | "description": "Web site demonstrating various validations.", 5 | "private": true, 6 | "devDependencies": { 7 | "grunt": "^0.4.5", 8 | "grunt-bower-task": "^0.4.0" 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/BasicWebSite/readme.md: -------------------------------------------------------------------------------- 1 | BasicWebSite 2 | === 3 | 4 | This web site illustrates many commonly used features including but not limited to 5 | link generation, action results and content negotiation, `RouteData` amongst others. 6 | -------------------------------------------------------------------------------- /test/WebSites/ControllersFromServicesClassLibrary/ControllersFromServicesClassLibrary.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.0 5 | true 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /test/WebSites/ControllersFromServicesClassLibrary/ResourcesController.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace ControllersFromServicesClassLibrary 7 | { 8 | [Controller] 9 | [Route("/[controller]")] 10 | public class ResourcesController 11 | { 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /test/WebSites/ControllersFromServicesWebSite/ValueService.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace ControllersFromServicesWebSite 5 | { 6 | public class ValueService 7 | { 8 | public int Value { get; } = 3; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/ControllersFromServicesWebSite/ViewData.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Value -------------------------------------------------------------------------------- /test/WebSites/ControllersFromServicesWebSite/Views/Another/InServicesTagHelper.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, ControllersFromServicesWebSite 2 | -------------------------------------------------------------------------------- /test/WebSites/ControllersFromServicesWebSite/readme.md: -------------------------------------------------------------------------------- 1 | Functional test site for verifying that controllers registered as services can be consumed by DefaultControllerFactory. 2 | -------------------------------------------------------------------------------- /test/WebSites/CorsWebSite/readme.md: -------------------------------------------------------------------------------- 1 | CorsWebSite 2 | === 3 | 4 | This web site illustrates how to configure actions to allow/disallow cross origin requests. 5 | -------------------------------------------------------------------------------- /test/WebSites/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /test/WebSites/ErrorPageMiddlewareWebSite/README.md: -------------------------------------------------------------------------------- 1 | ErrorPageMiddlewareWebSite 2 | === 3 | 4 | This web site illustrates how to register error page middleware. 5 | -------------------------------------------------------------------------------- /test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorFromViewImports/Index.cshtml: -------------------------------------------------------------------------------- 1 | 

Hello world!

-------------------------------------------------------------------------------- /test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorFromViewImports/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using NamespaceDoesNotExist -------------------------------------------------------------------------------- /test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorPageMiddleware/CompilationFailure.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | string x = 10; 3 | } -------------------------------------------------------------------------------- /test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorPageMiddleware/ParserError.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorPageMiddleware/RuntimeError.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | throw new Exception("Error from view"); 3 | } -------------------------------------------------------------------------------- /test/WebSites/FSharpWebSite/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |

Hello from FSharpWebSite

6 | -------------------------------------------------------------------------------- /test/WebSites/FSharpWebSite/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | @ViewData["Title"] - FSharpWebSite 5 | 6 | 7 | @RenderBody() 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/WebSites/FSharpWebSite/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using FSharpWebSite 2 | -------------------------------------------------------------------------------- /test/WebSites/FSharpWebSite/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/FilesWebSite/EmbeddedResources/Greetings.txt: -------------------------------------------------------------------------------- 1 | Sample text file as embedded resource. -------------------------------------------------------------------------------- /test/WebSites/FilesWebSite/readme.md: -------------------------------------------------------------------------------- 1 | FilesWebSite 2 | === 3 | 4 | This web site illustrates how to use `FileContentResult` via `File` method on the controller. It also demonstrates 5 | how to write and register a custom `FileSender` middleware. 6 | -------------------------------------------------------------------------------- /test/WebSites/FilesWebSite/sample.txt: -------------------------------------------------------------------------------- 1 | This is a sample text file -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/Models/BaseModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace FormatterWebSite.Models 5 | { 6 | public class BaseModel 7 | { 8 | public string BaseProperty { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/Models/DerivedDummyClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace FormatterWebSite 5 | { 6 | public class DerivedDummyClass : DummyClass 7 | { 8 | public int SampleIntInDerived { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/Models/Developer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.ComponentModel.DataAnnotations; 5 | 6 | namespace FormatterWebSite 7 | { 8 | public class Developer 9 | { 10 | [Required] 11 | public string Name { get; set; } 12 | 13 | public string Alias { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/Models/IModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace FormatterWebSite.Models 5 | { 6 | public interface IModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/Models/Product.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.Collections.Generic; 5 | 6 | namespace FormatterWebSite 7 | { 8 | public class Product 9 | { 10 | public string Name { get; set; } 11 | 12 | public List Reviews { get; set; } = new List(); 13 | } 14 | } -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/Models/Review.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace FormatterWebSite 5 | { 6 | public class Review 7 | { 8 | public double Rating { get; set; } 9 | 10 | public string Description { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/WebSites/FormatterWebSite/readme.md: -------------------------------------------------------------------------------- 1 | FormatterWebSite 2 | === 3 | 4 | This web site illustrates how to input formatters operate on the request body. It also demonstrates 5 | how custom options can be set for model validation. 6 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/PartialWithFallback.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/PartialWithOptional.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 |
-------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/_Fallback.cshtml: -------------------------------------------------------------------------------- 1 | Hello from fallback -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/Customer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public class Customer : Person 7 | { 8 | public string Key 9 | { 10 | get; 11 | set; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/DayOfWeek.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public enum DayOfWeek 7 | { 8 | Monday, 9 | Tuesday, 10 | Wednesday, 11 | Thursday, 12 | Friday, 13 | Saturday, 14 | Sunday 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/Gender.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public enum Gender 7 | { 8 | Male, 9 | Female 10 | } 11 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/Month.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System.ComponentModel.DataAnnotations; 5 | 6 | namespace HtmlGenerationWebSite.Models 7 | { 8 | public enum Month 9 | { 10 | [Display(Name = "January")] 11 | FirstOne, 12 | LastOne 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/PartialModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public class PartialModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/StatusMessageModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public class StatusMessageModel 7 | { 8 | public string Message { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/SuperTemplateModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public class SuperTemplateModel : TemplateModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/SuperViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public class SuperViewModel : ViewModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Models/TemplateModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace HtmlGenerationWebSite.Models 5 | { 6 | public class TemplateModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/ConfirmPayment.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @ViewBag.Message. (Region @ViewBag.Region) 3 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/Deals.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.Extensions.Caching.Memory 2 | 3 | Deal percentage is @ViewBag.ProductDealPercentage 4 | 5 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/Details.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.Extensions.Caching.Memory 2 | 3 | Cached content for @ViewBag.ProductId 4 | 5 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/ListCategories.cshtml: -------------------------------------------------------------------------------- 1 | @inject HtmlGenerationWebSite.ProductsService ProductsService 2 | 3 | Category: @ViewBag.Category 4 | Products: @string.Join(", ", ProductsService.GetProductNames(ViewBag.Category)) (@ViewBag.CorrelationId) 5 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/PastPurchases.cshtml: -------------------------------------------------------------------------------- 1 |  2 | Past purchases for user @Context.User.Identity.Name (@ViewBag.CorrelationId) 3 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/ShoppingCart.cshtml: -------------------------------------------------------------------------------- 1 |  2 | Cart content for @ViewBag.CorrelationId 3 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/Splash.cshtml: -------------------------------------------------------------------------------- 1 | 

Category: @ViewBag.Category

2 |

Region: @ViewBag.Locale

3 | 4 |

Cached content

5 | @await Component.InvokeAsync("Splash") 6 | @await Html.PartialAsync("_SplashPartial") 7 |
CorrelationId in Splash: @ViewBag.CorrelationId
8 |
9 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/_SplashPartial.cshtml: -------------------------------------------------------------------------------- 1 | Listing items 2 | 3 | Cached Content for @ViewBag.Category 4 |
CorrelationId in Partial: @ViewBag.CorrelationId
5 |
-------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/EditorTemplates/GenderUsingHtmlHelpers.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model Gender 3 | @Html.RadioButtonFor(m => m, value: "Male") Male 4 | @Html.RadioButton(expression: string.Empty, value: "Female") Female -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/EditorTemplates/GenderUsingTagHelpers.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model Gender 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | Male 5 | Female -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/Enum.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model AClass 3 | @Html.DisplayFor(x => x.DayOfWeek) 4 | @Html.DisplayFor(x => x.Month) -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/ItemUsingModelSpecificEditorTemplate.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model Item 3 | @Html.Editor(nameof(Model.Description)) 4 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/ItemUsingSharedEditorTemplate.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model Item 3 | @Html.EditorFor(model => model.Name) 4 | @Html.Editor("Id") 5 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/PartialTagHelperWithoutModel.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | PartialTagHelperWithoutModel: -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/StatusMessage.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model StatusMessageModel 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | 5 | 6 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/Warehouse.cshtml: -------------------------------------------------------------------------------- 1 | @model HtmlGenerationWebSite.Models.Warehouse 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | 4 |

@Html.DisplayFor(m => m.City)

5 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/_ProductRecommendations.cshtml: -------------------------------------------------------------------------------- 1 | @using HtmlGenerationWebSite.Models 2 | @model ProductRecommendations 3 | 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 5 | 6 |
7 |

You might also like these products!

8 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/_StatusMessagePartial.cshtml: -------------------------------------------------------------------------------- 1 | @model string 2 | 3 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Shared/Components/Splash/Default.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | @model string 3 | Locations closest to your locale: 4 | 5 | @Model 6 |
CorrelationId in View Component: @ViewBag.CorrelationId
7 |
-------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Shared/EditorTemplates/Common.cshtml: -------------------------------------------------------------------------------- 1 | @Html.LabelFor(m => m, new { @class = "control-label col-md-2" }) 2 | @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue) 3 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Shared/EditorTemplates/String.cshtml: -------------------------------------------------------------------------------- 1 | @model string 2 | @Html.LabelFor(m => m) 3 | @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue) 4 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/Views/Shared/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | Hello from partial 2 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/appRoot.css: -------------------------------------------------------------------------------- 1 | body::after { 2 | display: block; 3 | background-color: #ff0000; 4 | color: #fff; 5 | font-size: 1.2em; 6 | margin-top: 2.4em; 7 | content: "ERROR: Stylesheet 'appRoot.css' was loaded from outside webroot!"; 8 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/appRoot.js: -------------------------------------------------------------------------------- 1 | alert("ERROR!! This should never be loaded"); -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/readme.md: -------------------------------------------------------------------------------- 1 | HtmlGenerationWebSite 2 | === 3 | 4 | This web site illustrates how to use MVC HTML and tag helpers. 5 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aspnet/Mvc/04ce6cae44fb0cb11470c21769d41e3f8088e8aa/test/WebSites/HtmlGenerationWebSite/wwwroot/images/red.png -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/.gitattributes: -------------------------------------------------------------------------------- 1 | site*.css eol=crlf 2 | site*.js eol=crlf -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/site.css: -------------------------------------------------------------------------------- 1 | body::after { 2 | display: block; 3 | color: #0fa912; 4 | margin-top: 2.4em; 5 | content: "Stylesheet 'site.css' loaded successfully!"; 6 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/site.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var p = document.createElement("P"); 3 | p.appendChild(document.createTextNode("site.js loaded successfully!")); 4 | p.style.color = "#0fa912"; 5 | document.body.appendChild(p); 6 | })(); -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/siteIntegrity.css: -------------------------------------------------------------------------------- 1 | body::after { 2 | display: block; 3 | color: #0fa912; 4 | margin-top: 2.4em; 5 | content: "Stylesheet 'siteIntegrity.css' loaded successfully!"; 6 | } 7 | -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/siteIntegrity.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var p = document.createElement("P"); 3 | p.appendChild(document.createTextNode("Integrity Script loaded successfully!")); 4 | p.style.color = "#0fa912"; 5 | document.body.appendChild(p); 6 | })(); -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site2.css: -------------------------------------------------------------------------------- 1 | body::after { 2 | display: block; 3 | color: #0fa912; 4 | margin-top: 2.4em; 5 | content: "Stylesheet 'site2.css' loaded successfully!"; 6 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site2.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var p = document.createElement("P"); 3 | p.appendChild(document.createTextNode("site2.js loaded successfully!")); 4 | p.style.color = "#0fa912"; 5 | document.body.appendChild(p); 6 | })(); -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site3.css: -------------------------------------------------------------------------------- 1 | body::after { 2 | display: block; 3 | background-color: #ff0000; 4 | color: #fff; 5 | margin-top: 2.4em; 6 | content: "ERROR: Stylesheet 'site3.css' was loaded despite being excluded!"; 7 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site3.js: -------------------------------------------------------------------------------- 1 | alert("ERROR!! This should never be loaded"); -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site3.min.css: -------------------------------------------------------------------------------- 1 | body::after { 2 | display: block; 3 | background-color: #ff0000; 4 | color: #fff; 5 | margin-top: 2.4em; 6 | content: "ERROR: Stylesheet 'site3.min.css' was loaded despite being excluded!"; 7 | } -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/siteIntegrity2.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var p = document.createElement("P"); 3 | p.appendChild(document.createTextNode("Integrity Script loaded successfully!")); 4 | p.style.color = "#0fa912"; 5 | document.body.appendChild(p); 6 | })(); -------------------------------------------------------------------------------- /test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/siteIntegrity3.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var p = document.createElement("P"); 3 | p.appendChild(document.createTextNode("Integrity Script with different hash loaded successfully!")); 4 | p.style.color = "#0fa912"; 5 | document.body.appendChild(p); 6 | })(); -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite.PrecompiledViews/Pages/Precompilation/Page_Model.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.AspNetCore.Mvc.RazorPages; 3 | 4 | namespace RazorBuildWebSite.Pages.Precompilation 5 | { 6 | public class Page_Model : PageModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite.PrecompiledViews/RazorBuildWebSite.PrecompiledViews.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.0 5 | $(DefineConstants) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite.Views/Pages/Rzc/Page_Model.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.AspNetCore.Mvc.RazorPages; 3 | 4 | namespace RazorBuildWebSite.Pages.Rzc 5 | { 6 | public class Page_Model : PageModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite.Views/RazorBuildWebSite.Views.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.0 5 | $(DefineConstants) 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Controllers/CommonController.cs: -------------------------------------------------------------------------------- 1 | 2 | using Microsoft.AspNetCore.Mvc; 3 | 4 | namespace RazorBuildWebSite.Controllers 5 | { 6 | public class CommonController : Controller 7 | { 8 | public new ActionResult View() 9 | { 10 | return base.View("CommonView"); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Controllers/PrecompilationController.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.AspNetCore.Mvc; 3 | 4 | namespace RazorBuildWebSite.Controllers 5 | { 6 | public class PrecompilationController : Controller 7 | { 8 | public new ActionResult View() 9 | { 10 | return base.View(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Controllers/RzcController.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.AspNetCore.Mvc; 3 | 4 | namespace RazorBuildWebSite.Controllers 5 | { 6 | public class RzcController : Controller 7 | { 8 | public new ActionResult View() 9 | { 10 | return base.View(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Pages/Precompilation/Page.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model Page_Model 3 | 4 | Hello from runtime-compiled precompilation page! 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Pages/Rzc/Page.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model Page_Model 3 | 4 | Hello from runtime-compiled rzc page! 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @namespace RazorBuildWebSite.Pages -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Views/Precompilation/View.cshtml: -------------------------------------------------------------------------------- 1 | Hello from runtime-compiled precompilation view! -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Views/Rzc/View.cshtml: -------------------------------------------------------------------------------- 1 | Hello from runtime-compiled rzc view! -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @namespace RazorBuildWebSite.Views -------------------------------------------------------------------------------- /test/WebSites/RazorBuildWebSite/readme.md: -------------------------------------------------------------------------------- 1 | RazorBuildWebSite 2 | === 3 | 4 | This web site tests how the Razor view engine interacts with pre-built Razor assemblies. -------------------------------------------------------------------------------- /test/WebSites/RazorPagesClassLibrary/Pages/ClassLibraryPages/Overriden.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @{ throw new Exception("This page should be overriden by the application."); } 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesClassLibrary/Pages/ClassLibraryPages/Served.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | This page is served from RazorPagesClassLibrary 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace RazorPagesWebSite 7 | { 8 | [Area("Accounts")] 9 | public class HomeController : Controller 10 | { 11 | public IActionResult Index() => View(); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/About.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from a page in Accounts area 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/Manage/RenderPartials.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @{ 3 | Layout = "_GlobalLayout"; 4 | } 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/Manage/_PartialInManage.cshtml: -------------------------------------------------------------------------------- 1 | Partial in /Areas/Accounts/Pages/Manage/ 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/PageWithLinks.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Link inside area 3 | Link to external area 4 | Link to area action 5 | Link to non-area page 6 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/PageWithRouteTemplate.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id}" 2 | @functions 3 | { 4 | [BindProperty(SupportsGet = true)] 5 | public string Id { get; set; } 6 | } 7 | The id is @Id 8 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/RelativeLinks/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Parent directory 3 | Sibling directory 4 | Go back to root of different area 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/RequiresAuth/AllowAnonymous.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from AllowAnonymous 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/RequiresAuth/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @{ throw new Exception("This should not be rendered."); } 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/_PartialInAreaPagesRoot.cshtml: -------------------------------------------------------------------------------- 1 | Partial in /Areas/Accounts/Pages/ 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | Link to page inside current area 2 | Link to page in different area 3 | Link to page outside area 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/Views/Shared/_PartialInAreasSharedViews.cshtml: -------------------------------------------------------------------------------- 1 | Partial in /Areas/Accounts/Views/Shared/ 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Accounts/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Areas/Products/Pages/List.cshtml: -------------------------------------------------------------------------------- 1 | @page "{sort?}/{top?}" -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/DefaultNamespace.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @(GetType().Namespace) -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorld.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | Hello, World! -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorldWithAuth.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | Can't see me -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorldWithHandler.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions { 4 | public string Message { get; set; } 5 | 6 | public void OnGet(string message) 7 | { 8 | Message = message; 9 | } 10 | } 11 | 12 | Hello, @Message! -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorldWithOptionsHandler.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions { 4 | public string Source { get; set; } 5 | 6 | public void OnGet() 7 | { 8 | Source = "OnGet"; 9 | } 10 | 11 | public void OnOptions(string message) 12 | { 13 | Source = "OnOptions"; 14 | } 15 | } 16 | 17 | Hello from @Source! -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorldWithPageModelAttributeModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.HelloWorldWithPageModelAttributeModel 3 | Hello, @Model.Message! 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorldWithPageModelHandler.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @model RazorPagesWebSite.HelloWorldWithPageModelHandler 4 | 5 | Hello, @Model.Message! 6 | 7 | @using (Html.BeginForm()) 8 | { 9 | @Html.AntiForgeryToken() 10 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/HelloWorldWithRoute.cshtml: -------------------------------------------------------------------------------- 1 | @page "Some/Path/{text}" 2 | 3 | Hello, @(ViewContext.RouteData.Values["text"])! -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/InjectedPageProperties.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @Url.GetType() 4 | @Html.GetType() 5 | @ViewData.GetType() 6 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/ModelAsFilter.cshtml: -------------------------------------------------------------------------------- 1 | @page "{handler?}" 2 | @model RazorPagesWebSite.ModelAsFilter 3 | @Model.Message 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/ModelHandlerTestPage.cshtml: -------------------------------------------------------------------------------- 1 | @page "{handler?}" 2 | @model RazorPagesWebSite.ModelHandlerTestModel 3 | 4 | Method: @Model.MethodName 5 | @using (Html.BeginForm()) 6 | { 7 | @Html.AntiForgeryToken() 8 | } 9 | ~/HelloWorld.cshtml -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/ModelWithAuthFilter.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.ModelWithAuthFilter 3 | 4 | Can't see me 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/ModelWithPageFilter.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.ModelWithPageFilter 3 | 4 | @Model.Message 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/ModelWithResponseCache.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.ModelWithResponseCache 3 | 4 | @Model.Message 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Models/IUserModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace RazorPagesWebSite 5 | { 6 | public interface IUserModel 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/NoPage.cshtml: -------------------------------------------------------------------------------- 1 | This isn't a razor page -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/OnGetView.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions { 4 | public IActionResult OnGet() 5 | { 6 | Message = "From OnGet"; 7 | 8 | return Page(); 9 | } 10 | public string Message { get; set; } = "Default"; 11 | } 12 | The message: @Message 13 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/PageWithoutContent.cshtml: -------------------------------------------------------------------------------- 1 | @page "No/Content/Path" -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Admin/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @functions 3 | { 4 | public void OnPost() 5 | { 6 | } 7 | } 8 | 9 |
10 | 11 |
12 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Admin/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from @ViewContext.RouteData.Values["page"] -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Admin/Login.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Login Page -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Admin/RouteTemplate.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id}/MyRouteSuffix/{value:int?}" 2 | Hello from @ViewContext.RouteData.Values["page"] @ViewContext.RouteData.Values["id"] @ViewContext.RouteData.Values["value"] -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Antiforgery/AntiforgeryDefault.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model AntiforgeryDefaultModel 3 |
4 | 5 |
6 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Antiforgery/AntiforgeryDefault.cshtml.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc.RazorPages; 5 | 6 | namespace RazorPagesWebSite 7 | { 8 | public class AntiforgeryDefaultModel : PageModel 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Antiforgery/IgnoreAntiforgery.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model IgnoreAntiforgeryModel 3 |
4 | 5 |
6 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Antiforgery/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ClassLibraryPages/Overriden.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | This page is overriden by RazorPagesWebSite 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Conventions/Auth.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Conventions/AuthFolder/AnonymousViaModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model AnonymousModel 3 | Hello from Anonymous -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Conventions/AuthFolder/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/CustomPageBase.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | using Microsoft.AspNetCore.Mvc.RazorPages; 4 | 5 | namespace RazorPagesWebSite 6 | { 7 | public abstract class CustomPageBase : PageBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/Page.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @GetType().BaseType.FullName -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/PageWithModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | using Microsoft.AspNetCore.Mvc.RazorPages; 4 | 5 | namespace RazorPagesWebSite 6 | { 7 | public class PageWithModel : PageModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/PageWithModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PageWithModel 3 | @GetType().BaseType.FullName -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using RazorPagesWebSite 2 | @inherits CustomPageBase 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = "../Shared/_CustomBaseTypeLayout"; } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/CustomPrefix/Custom.cshtml: -------------------------------------------------------------------------------- 1 | @page "~/like-totally-custom" 2 | 3 |

Hey, it's Mr. totally custom here!

4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/FileFromShared: -------------------------------------------------------------------------------- 1 | @Html.Partial("_FileInShared) -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/HandlerWithParameter.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model HandlerWithParameterModel 3 | @{ 4 | } 5 | Handler with parameter 6 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from @ViewContext.RouteData.Values["page"] -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Localized/Page.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @inject Microsoft.AspNetCore.Mvc.Localization.IViewLocalizer Localizer 3 | @Localizer["Hello"] 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Localized/PageWithModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PageWithModel 3 | @inject Microsoft.AspNetCore.Mvc.Localization.IViewLocalizer Localizer 4 | @Localizer["Hello"] 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Folder/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @(GetType().Namespace) -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Override/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @namespace Override 3 | @(GetType().Namespace) -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Namespace/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @namespace CustomNamespace -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/NotTheRoot.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from NotTheRoot 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindFormFile.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model BindFormFile 3 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 4 | 5 |
6 | 7 | 8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindPropertiesOnModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model BindPropertiesOnModel 3 | 4 | Property1 = @Model.Property1, Property2 = @Model.Property2, 5 | 6 |
7 | @Html.AntiForgeryToken() 8 |
9 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindPropertiesWithSupportsGetOnModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model BindPropertiesWithSupportsGetOnModel 3 | @Model.Property 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindPropertyWithGet.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @using Microsoft.AspNetCore.Mvc.RazorPages 3 | 4 | @functions 5 | { 6 | [BindProperty(SupportsGet=true)] 7 | public int Value { get; set; } 8 | } 9 |

@Value

-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PageModelWithPropertyBinding.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int}" 2 | @model PageModelWithPropertyBinding 3 | Id = @Model.Id, Name = @Model.UserModel?.Name, Age = @Model.UserModel?.Age, PropertyWithSupportGetsTrue = @Model.PropertyWithSupportGetsTrue 4 | @Html.ValidationSummary() 5 | 6 |
7 | @Html.AntiForgeryToken() 8 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PagePropertyBinding.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int}" 2 | @functions 3 | { 4 | [ModelBinder] 5 | public UserModel UserModel { get; set; } 6 | 7 | [FromRoute] 8 | public int Id { get; set; } 9 | } 10 | Id = @Id, Name = @UserModel?.Name, Age = @UserModel?.Age 11 | @Html.ValidationSummary() 12 |
13 | @Html.AntiForgeryToken() 14 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PageWithPropertyAndArgumentBinding.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PageModelWithPropertyAndArgumentBinding 3 | Id = @Model.Id, Name = @Model.UserModel?.Name, Age = @Model.UserModel?.Age 4 | @Html.ValidationSummary() 5 | 6 |
7 | @Html.AntiForgeryToken() 8 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PolymorphicBinding.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PolymorphicBinding 3 | 4 |
5 | @Html.AntiForgeryToken() 6 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using RazorPagesWebSite 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page "{handler?}" 2 | @functions 3 | { 4 | public IActionResult OnGet() => RedirectToPage(); 5 | 6 | public IActionResult OnGetRedirectToIndex() => RedirectToPage("/Redirects/Index"); 7 | } 8 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/Redirect.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int}" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromHandler.cshtml: -------------------------------------------------------------------------------- 1 | @page "{handler?}/{id:int?}" 2 | @functions 3 | { 4 | public IActionResult OnGetRedirectToPage(int id) 5 | { 6 | return RedirectToPage(); 7 | } 8 | 9 | public IActionResult OnGetRedirectToAnotherHandler(int id) 10 | { 11 | return RedirectToPage(new { handler = "RedirectToPage", id = id }); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromModel.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | using Microsoft.AspNetCore.Mvc.RazorPages; 3 | 4 | namespace RazorPagesWebSite 5 | { 6 | public class RedirectFromModel : PageModel 7 | { 8 | public IActionResult OnGet() => RedirectToPage("/Pages/Redirects/Redirect", new { id = 12}); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.RedirectFromModel 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromPage.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @functions 3 | { 4 | public IActionResult OnGet() => RedirectToPage("/Pages/Redirects/Redirect", new { id = 10}); 5 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectToSelf.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @functions 3 | { 4 | public IActionResult OnPost(int value) => RedirectToPage(new { user = value }); 5 | } 6 | 7 |
8 | @Html.AntiForgeryToken() 9 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Redirects/SubDir/SubDirPage.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Routes/RouteUsingDefaultName.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Link 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Routes/Sibling.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id?}" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Routes/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/SearchInPages.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @Html.Partial("_FileInShared") -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Section/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @{ 3 | Layout = "_Layout"; 4 | } 5 | @functions { 6 | public int MyValue { get; set; } = 17; 7 | } 8 | @section mysection { 9 | Value is @Model.MyValue 10 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Section/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderSection("mysection") -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Shared/Components/ViewData/Default.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | @ViewData["Title"] 4 | 5 | 6 | @ViewData["Message"] 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Shared/_CustomBaseTypeLayout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Shared/_FileInShared.cshtml: -------------------------------------------------------------------------------- 1 | Hello from /Pages/Shared/ 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ShortCircuitPageAtAuthFilter.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ShortCircuitAtAuthFilterPageModel 3 | @{ 4 | } 5 | From ShortCircuitPageAtAuthFilter.cshtml -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ShortCircuitPageAtPageFilter.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ShortCircuitAtPageFilterPageModel 3 | @{ 4 | } 5 | From ShortCircuitPageAtPageFilter.cshtml -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/CrossPost.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int?}" 2 | 3 |
4 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/PathTraversalLinks.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 |
4 |
5 | 6 | 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/SelfPost.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int?}" 2 | 3 |
4 | 5 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/SiblingLinks.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 |
4 |
5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/SubDir/SubDirPage.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id?}" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/SubDirectoryLinks.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 |
4 |
5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TagHelper/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TryUpdateModelPageModel.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int}" 2 | @using RazorPagesWebSite.Pages 3 | @model TryUpdateModelPageModel 4 | 5 | @Html.ValidationSummary() 6 |
7 | @Html.AntiForgeryToken() 8 |
9 | Updated: @Model.Updated 10 | Name = @Model.UserModel?.Name 11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/TryValidateModelPageModel.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id:int}" 2 | @using RazorPagesWebSite.Pages 3 | @model TryValidateModelPageModel 4 | 5 | @Html.ValidationSummary() 6 |
7 | @Html.AntiForgeryToken() 8 |
9 | Validation: @(Model.Validate ? "success" : "fail!" ) 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Validation/PageHandlerWithValidation.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @using System.ComponentModel.DataAnnotations 3 | @functions 4 | { 5 | public void OnGet([Required(ErrorMessage = "Name is required")] string name) 6 | { 7 | 8 | } 9 | } 10 |
11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Validation/PageWithValidation.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PageWithValidation 3 |
4 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/Validation/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataInPage.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ViewDataInPage 3 | @{ 4 | Layout = "_Layout"; 5 | } 6 | Sample that shows ViewData attributes being set in a PageModel. 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataInPageWithoutModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @{ 3 | Layout = "_Layout"; 4 | } 5 | @functions 6 | { 7 | [ViewData] 8 | public string Title { get; set; } = "Default value"; 9 | 10 | [ViewData] 11 | public string Description { get; set; } 12 | 13 | public void OnGet() 14 | { 15 | Description = "Description set in page handler"; 16 | } 17 | } 18 | Sample that shows ViewData being set from a page without handler. 19 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/Index.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | using Microsoft.AspNetCore.Mvc.RazorPages; 3 | 4 | namespace RazorPagesWebSite.ViewDataSetInViewStart 5 | { 6 | public class Index : PageModel 7 | { 8 | [ViewData] 9 | public string ValueFromPageModel => "Value from Page Model"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @namespace RazorPagesWebSite.ViewDataSetInViewStart 3 | @model Index 4 | @{ 5 | ViewData["ValueFromPage"] = "Value from Page"; 6 | } 7 | Sample that shows ViewData attributes being set in a PageModel. 8 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() 2 | @ViewData["ValueFromViewStart"] 3 | @ViewData["ValueFromPage"] 4 | @ViewData["ValueFromPageModel"] 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | ViewData["ValueFromViewStart"] = "Value from _ViewStart"; 4 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataToViewComponentPage.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ViewDataToViewComponentPage 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | @ViewData["Title"] 7 | 8 | 9 | @RenderBody() 10 | 11 | 12 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewData/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewDataAvailableAfterHandlerExecuted.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ViewDataAvailableAfterHandlerExecutedModel 3 | @{ 4 | } 5 | ViewData: @ViewData["Foo"] -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewSearch/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @{ 4 | await Html.RenderPartialAsync(Request.Query["partial"]); 5 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/ViewSearch/_Sibling.cshtml: -------------------------------------------------------------------------------- 1 | Hello from sibling -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/WithViewImport/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from @CustomService.Value! -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/WithViewImport/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using CustomNamespace -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/WithViewStart/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from @Path! -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/WithViewStart/ViewStartAtRoot.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | Hello from page 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/WithViewStart/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | Hello from _ViewStart 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/_Parent.cshtml: -------------------------------------------------------------------------------- 1 | Hello from parent -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @namespace RazorPagesWebSite.Pages -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/PathSet.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | Path: @Path -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/RedirectToController.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions { 4 | public IActionResult OnGet() 5 | { 6 | return new RedirectToRouteResult(new { controller = "Redirect", action = "RedirectToPageAction", param = 92 }); 7 | } 8 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/RenderPartialWithModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.RenderPartialWithModel 3 | 4 |

The partial will be loaded here ...

-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/RenderPartialWithoutModel.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions { 4 | public IActionResult OnGet() => Partial("_PartialWithoutModel"); 5 | } 6 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/RouteData.cshtml: -------------------------------------------------------------------------------- 1 | @page "{intRouteDataStringProperty:int}" 2 | 3 | @functions{ 4 | public string IntRouteDataStringProperty { get; set; } 5 | 6 | public void OnGet(string intRouteDataStringProperty = "default") 7 | { 8 | IntRouteDataStringProperty = intRouteDataStringProperty; 9 | } 10 | } 11 | 12 | From RouteData: @IntRouteDataStringProperty 13 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Services/CustomService.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace CustomNamespace 5 | { 6 | public static class CustomService 7 | { 8 | public static string Value => nameof(CustomService); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Show.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/SimpleForms.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 3 | 4 |
5 |
6 |
7 |
8 |
9 |
10 |
-------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/TempData/SetMessageAndRedirect.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions 4 | { 5 | public IActionResult OnGet() 6 | { 7 | TempData["Message"] = "Secret Message"; 8 | return Redirect("~/TempData/TempDataPageModelProperty"); 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/TempData/SetTempDataOnPageAndRedirect.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @functions { 4 | 5 | public IActionResult OnGet(string message) 6 | { 7 | TempData["Message"] = message; 8 | return Redirect("~/TempData/ShowMessage"); 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/TempData/SetTempDataOnPageModelAndRedirect.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.SetTempDataOnPageModelAndRedirect -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/TempData/ShowMessage.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | 3 | @(TempData["Message"]) -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/TempData/TempDataPageModelProperty.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model RazorPagesWebSite.TempData.TempDataPageModel 3 | 4 | Message: @Model.Message 5 | @using (Html.BeginForm()) 6 | { 7 | @Html.AntiForgeryToken() 8 | } 9 | TempData: @TempData["Message"] 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Views/Shared/_FileInShared.cshtml: -------------------------------------------------------------------------------- 1 | @{ throw new Exception("This file should not be processed"); } -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Views/Shared/_GlobalLayout.cshtml: -------------------------------------------------------------------------------- 1 | Layout in /Views/Shared 2 | @RenderBody() 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Views/Shared/_PartialWithModel.cshtml: -------------------------------------------------------------------------------- 1 | @model RazorPagesWebSite.RenderPartialWithModel 2 | 3 | Welcome, @Model.Username -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Views/Shared/_PartialWithoutModel.cshtml: -------------------------------------------------------------------------------- 1 | Welcome, Guest -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/Views/Shared/_Shared.cshtml: -------------------------------------------------------------------------------- 1 | Hello from shared -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/_Root.cshtml: -------------------------------------------------------------------------------- 1 | Hello from root -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Mvc.RazorPages 2 | @if (ViewContext.ActionDescriptor is PageActionDescriptor actionDescriptor && actionDescriptor.ViewEnginePath == "/WithViewStart/ViewStartAtRoot") 3 | { 4 | Hello from _ViewStart at root 5 | 6 | } 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorPagesWebSite/readme.md: -------------------------------------------------------------------------------- 1 | RazorPagesWebSite 2 | === 3 | 4 | This web site is used for functional tests of the Razor Pages feature of MVC. 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Controllers/BackSlashController.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace RazorWebSite.Controllers 7 | { 8 | public class BackSlashController : Controller 9 | { 10 | public IActionResult Index() => View(@"Views\BackSlash\BackSlashView.cshtml"); 11 | } 12 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedShared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedShared/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | Hello from EmbeddedShared/_Partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/EmbeddedPartial.cshtml: -------------------------------------------------------------------------------- 1 | Hello from EmbeddedHome\EmbeddedPartial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/Index.cshtml: -------------------------------------------------------------------------------- 1 | @Html.Partial("../EmbeddedShared/_Partial.cshtml") 2 | @Html.Partial("_EmbeddedPartial") 3 |
Tag Helper Link 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/RelativeNonPath.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = "../EmbeddedShared/_Layout"; } 2 | @Html.Partial("./EmbeddedPartial") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = "/Views/EmbeddedShared/_Layout.cshtml"; } 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/EmbeddedResources/Views/Shared/_EmbeddedPartial.cshtml: -------------------------------------------------------------------------------- 1 | Hello from Shared/_EmbeddedPartial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Models/Address.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace RazorWebSite 5 | { 6 | public class Address 7 | { 8 | public string ZipCode { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Models/Person.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace RazorWebSite 5 | { 6 | public class Person 7 | { 8 | public string Name { get; set; } 9 | 10 | public Address Address { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Pages/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | @{ throw new Exception("This file should not be processed"); } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Pages/Shared/_SharedFromPages.cshtml: -------------------------------------------------------------------------------- 1 | Hello from Pages/Shared 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Services/InjectedHelper.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace RazorWebSite 5 | { 6 | public class InjectedHelper 7 | { 8 | public string Greet(Person person) 9 | { 10 | return "Hello " + person.Name; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Shared-Views/ExpanderViews/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | throw new Exception("This view should not be executed"); 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Shared-Views/ExpanderViews/_ExpanderPartial.cshtml: -------------------------------------------------------------------------------- 1 | @ViewContext.View.Path -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/SingleType.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace RazorWebSite 5 | { 6 | public class SingleType 7 | { 8 | 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/AddTagHelperComponent/AddComponent.cshtml: -------------------------------------------------------------------------------- 1 | @inject Microsoft.AspNetCore.Mvc.Razor.TagHelpers.ITagHelperComponentManager manager 2 | 3 | Hello from Head Tag Helper Component 4 | 5 | @{ 6 | manager.Components.Add(new TestBodyTagHelperComponent(2, "Processed TagHelperComponent added from view.")); 7 | } 8 | 9 | Hello from Body Tag Helper Component 10 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/BackSlash/BackSlashView.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["back-slash"] = "true"; 3 | Layout = "_Layout"; 4 | } 5 | Page 6 | @Html.Partial("_BackSlashPartial") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/BackSlash/_BackSlashPartial.cshtml: -------------------------------------------------------------------------------- 1 | Partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/BackSlash/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | Layout 2 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Directives/Scoped/ViewInheritsBasePageFromViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @MyHelper.Greet(Model) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Directives/Scoped/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | layout:@RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Directives/Scoped/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @inherits MyBasePage 2 | @{ 3 | Layout = "/Views/Directives/Scoped/_Layout.cshtml"; 4 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Directives/Scoped/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Directives/Scoped/_Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Directives/ViewInheritsInjectAndUsingsFromViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @model MyPerson 2 | @MyHelper.Greet(Model) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Directives/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using MyPerson = RazorWebSite.Person 2 | @inject InjectedHelper MyHelper 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Enum/Enum.cshtml: -------------------------------------------------------------------------------- 1 | @model RazorWebSite.Models.EnumModel 2 | 3 |
4 | @Html.DisplayNameFor(model => model.Id) 5 | @Html.DisplayFor(model => model.Id) 6 |
7 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ExpanderViews/Index.cshtml: -------------------------------------------------------------------------------- 1 | @Html.Partial("_ExpanderPartial") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/FlushPoint/PageWithFlushBeforeLayout.cshtml: -------------------------------------------------------------------------------- 1 | Initial content 2 | @await FlushAsync() 3 | 4 | @{ 5 | Layout = "/Views/Shared/_LayoutWithFlush.cshtml"; 6 | } 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/FlushPoint/PageWithLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_LayoutWithFlush.cshtml"; 3 | ViewBag.Title = "Page With Layout"; 4 | } 5 | RenderBody content 6 | @section content 7 | { 8 | @{ 9 | await FlushAsync(); 10 | } 11 | Content that takes time to produce 12 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/FlushPoint/PageWithNestedLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_NestedLayoutWithFlush.cshtml"; 3 | ViewBag.Title = "Nested Page With Layout"; 4 | } 5 | @ViewBag.Title -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/FlushPoint/PageWithoutLayout.cshtml: -------------------------------------------------------------------------------- 1 | Initial content 2 | @await FlushAsync() 3 | Secondary content 4 | @await FlushAsync() 5 | @{ 6 | await Html.RenderPartialAsync("_PartialWithFlush"); 7 | } 8 | @using (Html.BeginForm(method: FormMethod.Post, antiforgery: false, htmlAttributes: null)) 9 | { 10 | @Html.TextBox("Name1") 11 | @await FlushAsync() 12 | @Html.TextBox("Name2") 13 | } 14 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/HtmlHelperOptions/HtmlHelperOptionsDefaultsInPartialView.cshtml: -------------------------------------------------------------------------------- 1 | @model RazorWebSite.Controllers.DateModel 2 | @Html.ValidationSummary(true, "MySummary") 3 | @Html.ValidationMessage("Error") 4 | @Html.TextBox("Prefix.Property1") 5 | @Html.EditorForModel() 6 | @Html.ViewContext.ClientValidationEnabled -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/HtmlHelperOptions/HtmlHelperOptionsDefaultsInView.cshtml: -------------------------------------------------------------------------------- 1 | @model RazorWebSite.Controllers.DateModel 2 | @Html.ValidationSummary(true, "MySummary") 3 | @Html.ValidationMessage("Error") 4 | @Html.TextBox("Prefix.Property1") 5 | @Html.EditorForModel() 6 | @await Html.PartialAsync("HtmlHelperOptionsDefaultsInPartialView", Model) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/HtmlHelperOptions/OverrideAppWideDefaultsInPartialView.cshtml: -------------------------------------------------------------------------------- 1 | @model RazorWebSite.Controllers.DateModel 2 | @{ 3 | ViewContext.ValidationMessageElement = "ValidationInPartialView"; 4 | ViewContext.ValidationSummaryMessageElement = "ValidationSummaryInPartialView"; 5 | } 6 | @Html.ValidationSummary(true, "MySummary") 7 | @Html.ValidationMessage("Error") 8 | @Html.TextBox("Prefix.Property1") 9 | @Html.EditorForModel() 10 | @Html.ViewContext.ClientValidationEnabled -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/InheritingInherits/Index.cshtml: -------------------------------------------------------------------------------- 1 | @model Person 2 |

@Model.Name

3 | @await Component.InvokeAsync("InheritingViewComponent", Model.Address) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/InheritingInherits/_ViewComponent.cshtml: -------------------------------------------------------------------------------- 1 | @model Address 2 | @Model.ZipCode -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/InheritingInherits/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @inherits MyBasePage -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewImports/Nested/Index.cshtml: -------------------------------------------------------------------------------- 1 | @MyInjectedHelper.Greet(Model) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewImports/Nested/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @model Person 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewImports/Nested/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @MyInjectedHelper.Greet(Model) 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewImports/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @inject InjectedHelper MyInjectedHelper -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewStarts/NestedViewStarts/Index.cshtml: -------------------------------------------------------------------------------- 1 | index-content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewStarts/NestedViewStarts/Layout.cshtml: -------------------------------------------------------------------------------- 1 | @ViewData["title"] 2 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewStarts/NestedViewStarts/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "viewstart-value"; 3 | } 4 | @Layout 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/NestedViewStarts/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/NestedViewStarts/NestedViewStarts/Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/PartialMissingSection.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_PartialLayout"; 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/PartialWithModel.cshtml: -------------------------------------------------------------------------------- 1 | @model Person 2 | @Model.Name 3 | @Html.Partial("_Partial", Model.Address) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewPartialMissingSection.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | @Html.Partial("PartialMissingSection") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithDataFromController.cshtml: -------------------------------------------------------------------------------- 1 | 

@ViewData["data-from-controller"]

-------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithFullPath.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | } 4 | ViewWithFullPath-content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | } 4 | ViewWithLayout-Content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithNestedLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/ViewEngine/_NestedLayout.cshtml"; 3 | } 4 | ViewWithNestedLayout-Content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithoutLayout.cshtml: -------------------------------------------------------------------------------- 1 | ViewWithoutLayout-Content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialsWithLayout/LayoutForViewStartWithLayout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialThatDoesNotSpecifyLayout.cshtml: -------------------------------------------------------------------------------- 1 | Partial that does not specify Layout -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialThatSpecifiesLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "LayoutForViewStartWithLayout"; 3 | } 4 | Partial that specifies Layout 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialsRenderedViaPartialAsync.cshtml: -------------------------------------------------------------------------------- 1 | @await Html.PartialAsync("PartialThatSpecifiesLayout") 2 | @await Html.PartialAsync("PartialThatDoesNotSpecifyLayout") 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialsRenderedViaRenderPartial.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | await Html.RenderPartialAsync("PartialThatSpecifiesLayout"); 3 | await Html.RenderPartialAsync("PartialThatDoesNotSpecifyLayout"); 4 | } 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/PartialsWithLayout/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "LayoutForViewStartWithLayout"; 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/Components/ComponentForViewWithPaths/Default.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @ViewContext.ExecutingFilePath 3 | @ViewContext.View.Path 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/Components/ComponentThatSetsTitle/Default.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Component title"; 3 | } 4 | component-content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithLayout/Default.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_ComponentLayout"; 3 | } 4 | Component With Layout -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithRelativePath.cshtml: -------------------------------------------------------------------------------- 1 | @model Person 2 | @{ 3 | Layout = "../_ComponentLayout.cshtml"; 4 | } 5 | Component with Relative Path 6 | @Html.DisplayFor(model => model.Name, templateName: "~/Views/Shared/DisplayTemplates/Name.cshtml") 7 | @Html.DisplayFor(model => model.Address, templateName: "../../InheritingInherits/_ViewComponent.cshtml") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithViewStart/Default.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Title -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithViewStart/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | throw new Exception("This should not be invoked as part of executing the View Component."); 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/DisplayTemplates/Name.cshtml: -------------------------------------------------------------------------------- 1 | @model string 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_ComponentLayout.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Title 2 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @RenderBody() 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_LayoutWithFlush.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Title 2 | @await FlushAsync() 3 | @RenderBody() 4 | @await RenderSectionAsync("content") 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_LayoutWithPartialAndFlush.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Title 2 | @RenderBody() 3 | @await FlushAsync() 4 | @await Html.PartialAsync("_PartialThatSetsTitle") 5 | @RenderSection("content") 6 | More content from layout 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_LayoutWithRenderSectionAsync.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Title 2 | @RenderBody() 3 | @await FlushAsync() 4 | @await Html.PartialAsync("_PartialThatSetsTitle") 5 | @await RenderSectionAsync("content") 6 | More content from layout 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_LayoutWithRenderSectionOnly.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() 2 | @await RenderSectionAsync("nestedcontent") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_LayoutWithTitle.cshtml: -------------------------------------------------------------------------------- 1 | @ViewBag.Title 2 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_NestedLayoutWithFlush.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_LayoutWithRenderSectionOnly.cshtml"; 3 | ViewBag.Title = "Page With Layout"; 4 | } 5 | Inside Nested Layout 6 | @RenderBody() 7 | @section nestedcontent 8 | { 9 | @{ 10 | await FlushAsync(); 11 | } 12 | Nested content that takes time to produce 13 | } 14 | 15 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | @model Address 2 | @ViewData.Model.ZipCode 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_PartialLayout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 |
8 | @RenderBody() 9 |
10 | @{ 11 | try 12 | { 13 | RenderSection("section"); 14 | } 15 | catch (InvalidOperationException ex) 16 | { 17 |

@ex.Message

18 | } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_PartialThatSetsTitle.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Partial title"; 3 | } 4 | partial-content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_PartialWithFlush.cshtml: -------------------------------------------------------------------------------- 1 | Inside partial 2 | @await FlushAsync() 3 | After flush inside partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/Shared/_PartialWithModelFromEnumerable.cshtml: -------------------------------------------------------------------------------- 1 | @model Person 2 | @Html.DisplayFor(m => m.Name) -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TagHelperComponent/Body.cshtml: -------------------------------------------------------------------------------- 1 |  2 | Hello from Body Tag Helper Component 3 |

@ViewData["TestData"]

4 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TagHelperComponent/Head.cshtml: -------------------------------------------------------------------------------- 1 |  2 | Hello from Head Tag Helper Component 3 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/Index.cshtml: -------------------------------------------------------------------------------- 1 | expander-index 2 | @await Html.PartialAsync("_Partial") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/ViewWithLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_LanguageLayout"; 3 | } 4 | View With Layout 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/_LanguageLayout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | expander-partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/en-GB/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | gb-partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/fr/Index.cshtml: -------------------------------------------------------------------------------- 1 | fr-index 2 | @await Html.PartialAsync("_Partial") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/fr/_LanguageLayout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/TemplateExpander/fr/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | fr-partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/SearchInPages.cshtml: -------------------------------------------------------------------------------- 1 | @Html.Partial("_SharedFromPages") 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithComponentThatHasLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_LayoutWithTitle"; 3 | } 4 | Page Content 5 | @await Component.InvokeAsync("ComponentWithLayout") 6 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithComponentThatHasViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @await Component.InvokeAsync("ComponentWithViewStart") 2 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithDataFromController.cshtml: -------------------------------------------------------------------------------- 1 | 

@ViewData["data-from-controller"]

-------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithFullPath.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_Layout.cshtml"; 3 | } 4 | ViewWithFullPath-content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | } 4 | ViewWithLayout-Content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithNestedLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/ViewEngine/_NestedLayout.cshtml"; 3 | } 4 | ViewWithNestedLayout-Content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using RazorWebSite 2 | @model Person 3 | @await Html.PartialAsync("_Partial", Model.Address) 4 | 5 | @await Html.PartialAsync("~/Views/Shared/_Partial.cshtml", Model.Address) 6 | 7 | @ViewBag.TestKey -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithPartialTakingModelFromIEnumerable.cshtml: -------------------------------------------------------------------------------- 1 | @using RazorWebSite 2 | @model IEnumerable 3 | @foreach (var item in Model) 4 | {@await Html.PartialAsync("_PartialWithModelFromEnumerable", item)} -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithTitle.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Page title"; 3 | // The invoked partial sets a title, but this shouldn't override the current page's ViewData \ ViewBag. 4 | await Html.RenderPartialAsync("_PartialThatSetsTitle"); 5 | @await Component.InvokeAsync("ComponentThatSetsTitle") 6 | Layout = "/Views/Shared/_LayoutWithTitle.cshtml"; 7 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithoutLayout.cshtml: -------------------------------------------------------------------------------- 1 | ViewWithoutLayout-Content -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewEngine/_NestedLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | } 4 | 5 | @Url.Action() 6 | @RenderBody() 7 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/LayoutSpecifiedWithPartialPathInPage.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_NonSharedLayout"; 3 | } 4 | Layout specified in page 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/LayoutSpecifiedWithPartialPathInViewStart.cshtml: -------------------------------------------------------------------------------- 1 | _ViewStart that specifies partial Layout -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/NonSharedPartial.cshtml: -------------------------------------------------------------------------------- 1 | Non Shared Partial -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/PageWithNonPartialLayoutPath.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = (string)ViewData["Layout"]; 3 | } 4 | Page With Non Partial Layout 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/ViewWithPartials.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | var partial = (string)ViewData["Partial"]; 3 | } 4 | @Html.Partial(partial) 5 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/_NonSharedLayout.cshtml: -------------------------------------------------------------------------------- 1 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewWithPaths/Index.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @ViewContext.ExecutingFilePath 3 | @ViewContext.View.Path 4 | @await Component.InvokeAsync("ComponentForViewWithPaths") 5 | @Html.Partial("_Partial") 6 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewWithPaths/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @ViewContext.ExecutingFilePath 3 | @ViewContext.View.Path 4 | 5 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewWithPaths/_Partial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @ViewContext.ExecutingFilePath 3 | @ViewContext.View.Path 4 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewWithPaths/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | 5 | @ViewContext.ExecutingFilePath 6 | @ViewContext.View.Path 7 | 8 | -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewsConsumingCompilationOptions/Index.cshtml: -------------------------------------------------------------------------------- 1 | @inject FrameworkSpecificHelper MyHelper 2 | @MyHelper.ExecuteOperation() 3 | @Html.Partial("_Partial") -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/ViewsConsumingCompilationOptions/_Partial.cshtml: -------------------------------------------------------------------------------- 1 | @inject FrameworkSpecificHelper MyHelper 2 | @{ 3 | string value = 4 | #if NETCOREAPP2_0_CUSTOM_DEFINE || NETCOREAPP2_1_CUSTOM_DEFINE 5 | MyHelper.ExecuteNetCoreApp2_0Operation(); 6 | #endif 7 | } 8 | @value -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using RazorWebSite -------------------------------------------------------------------------------- /test/WebSites/RazorWebSite/readme.md: -------------------------------------------------------------------------------- 1 | RazorWebSite 2 | === 3 | 4 | This web site illustrates use cases for razor view engine, partials and view components. 5 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Areas/Admin/Pages/LGAreaPage.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id?}" 2 | @model RoutingWebSite.Areas.Admin.Pages.LGAreaPageModel 3 | @{ 4 | } 5 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Areas/Admin/Pages/LGAreaPage.cshtml.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc.RazorPages; 5 | 6 | namespace RoutingWebSite.Areas.Admin.Pages 7 | { 8 | public class LGAreaPageModel : PageModel 9 | { 10 | public void OnGet() 11 | { 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Controllers/DataTokensController.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace RoutingWebSite 7 | { 8 | public class DataTokensController : Controller 9 | { 10 | public object Index() 11 | { 12 | return RouteData.DataTokens; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Controllers/LG2Controller.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace RoutingWebSite 7 | { 8 | public class LG2Controller : Controller 9 | { 10 | public void SomeAction() 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id}" 2 | 3 | Hello from Edit page 4 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/LGAnotherPage.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id?}" 2 | @model RoutingWebSite.Pages.LGAnotherPageModel 3 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/LGPage.cshtml: -------------------------------------------------------------------------------- 1 | @page "{id?}" 2 | @model BasicWebSite.Pages.LGPageModel 3 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/PageRouteTransformer/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/PageRouteTransformer/PageWithConfiguredRoute.cshtml: -------------------------------------------------------------------------------- 1 | @page "ExtraPath/{id?}" 2 | Hello from @ViewContext.RouteData.Values["id"] -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/PageRouteTransformer/TestPage.cshtml: -------------------------------------------------------------------------------- 1 | @page "ExtraPath/{id?}" 2 | Hello from @ViewContext.RouteData.Values["id"] -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/Pages/PageWithLinks.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 3 | @{ 4 | } 5 | 6 | Edit 7 |
8 | Contact 9 | -------------------------------------------------------------------------------- /test/WebSites/RoutingWebSite/readme.md: -------------------------------------------------------------------------------- 1 | RoutingWebSite 2 | === 3 | 4 | This web site illustrates how to use conventional and attribute routes. 5 | -------------------------------------------------------------------------------- /test/WebSites/SecurityWebSite/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using SecurityWebSite 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /test/WebSites/SecurityWebSite/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/SecurityWebSite/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/WebSites/SimpleWebSite/readme.md: -------------------------------------------------------------------------------- 1 | SimpleWebSite 2 | === 3 | This sample web project illustrates a minimal site using `Microsoft.AspNetCore.Mvc.Core`. 4 | Please build from root (`.\build.cmd` on Windows; `./build.sh` elsewhere) before using this site. -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Components/JacketColor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace TagHelpersWebSite 5 | { 6 | public enum JacketColor 7 | { 8 | Red, 9 | Blue, 10 | Green, 11 | Navy, 12 | Brown, 13 | Purple 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Employee/DuplicateAntiforgeryTokenRegistration.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | @{ 3 | Layout = null; 4 | } 5 | 6 | 7 | @*Form tag helper already registers antiforgery token. The Html helper call should be no-op*@ 8 |
@Html.AntiForgeryToken()
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/CustomEncoder.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper TagHelpersWebSite.TagHelpers.CustomEncoderTagHelper, TagHelpersWebSite 2 | 3 | @{ 4 | var count = 0; 5 | var innerCount = 0; 6 | } 7 | 8 |
@($"Outer knows { ++count } < 4")
9 | @($"Inner knows { ++innerCount } < 4")
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/Index.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper TagHelpersWebSite.TagHelpers.DefaultEncoderTagHelper, TagHelpersWebSite 2 | 3 | @{ 4 | var count = 0; 5 | var innerCount = 0; 6 | } 7 | 8 |
@($"Outer knows { ++count } < 4")
9 | @($"Inner knows { ++innerCount } < 4")
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/NullEncoder.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper TagHelpersWebSite.TagHelpers.NullEncoderTagHelper, TagHelpersWebSite 2 | 3 | @{ 4 | var count = 0; 5 | var innerCount = 0; 6 | } 7 | 8 |
@($"Outer knows { ++count } < 4")
9 | @($"Inner knows { ++innerCount } < 4")
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/TwoEncoders.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper TagHelpersWebSite.TagHelpers.CustomEncoderTagHelper, TagHelpersWebSite 2 | @addTagHelper TagHelpersWebSite.TagHelpers.NullEncoderTagHelper, TagHelpersWebSite 3 | 4 | @{ 5 | var count = 0; 6 | var innerCount = 0; 7 | } 8 | 9 |
@($"Outer knows { ++count } < 4")
10 | @($"Inner knows { ++innerCount } < 4")
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | @ViewData["Title"] - My MVC 6 Application 5 | 6 | 7 |

MVC 6 - @ViewData["Title"]

8 |
9 | @RenderBody() 10 |
11 | 12 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @removeTagHelper "TagHelpersWebSite.TagHelpers.RootViewStartTagHelper, TagHelpersWebSite" -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Encoders/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Home/Help.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Help"; 3 | } 4 | 5 | @addTagHelper TagHelpersWebSite.TagHelpers.ATagHelper, TagHelpersWebSite 6 | 7 |
8 |

Hello, you've reached the help page. If you're having troubles try visiting our Approved Home Page

9 |
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Home/NestedViewImportsTagHelper.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | some-content 8 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Home/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper TagHelpersWebSite.TagHelpers.NestedViewImportsTagHelper, TagHelpersWebSite 2 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/InheritedTagHelperPrefix.cshtml: -------------------------------------------------------------------------------- 1 | page: -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/NestedInheritedTagHelperPrefix/NestedInheritedTagHelperPrefix.cshtml: -------------------------------------------------------------------------------- 1 | page: -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/NestedInheritedTagHelperPrefix/NestedOverriddenTagHelperPrefix.cshtml: -------------------------------------------------------------------------------- 1 | @tagHelperPrefix nested-overridden 2 | 3 | page: -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/NestedInheritedTagHelperPrefix/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @tagHelperPrefix nested- 2 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/OverriddenTagHelperPrefix.cshtml: -------------------------------------------------------------------------------- 1 | @tagHelperPrefix overridden 2 | 3 | page: -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @tagHelperPrefix inherited: 2 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_LayoutWithRootTagHelper.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/RemoveDefaultInheritedTagHelpers/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | Virtual path -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/RemoveDefaultInheritedTagHelpers/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @removeTagHelper *, Microsoft.AspNetCore.Mvc.Razor -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/RemoveInheritedTagHelpers/ViewWithInheritedRemoveTagHelper.cshtml: -------------------------------------------------------------------------------- 1 | page: 2 | some-content -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/RemoveInheritedTagHelpers/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @removeTagHelper TagHelpersWebSite.TagHelpers.RootViewStartTagHelper, TagHelpersWebSite 2 | @addTagHelper TagHelpersWebSite.TagHelpers.NestedViewImportsTagHelper, TagHelpersWebSite 3 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/RemoveInheritedTagHelpers/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_LayoutWithRootTagHelper.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Shared/Components/Copyright/Default.cshtml: -------------------------------------------------------------------------------- 1 | @model Dictionary 2 |
Copyright @Model["year"] @Model["website"]
3 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Shared/Components/Dan/Default.cshtml: -------------------------------------------------------------------------------- 1 | @model string 2 |
3 | @Html.Raw(Model) 4 |
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Shared/Components/Generic/Default.cshtml: -------------------------------------------------------------------------------- 1 | @model Dictionary> 2 |
Items:
3 |
4 | @foreach (var item in Model) 5 | { 6 | @item.Key
7 | @foreach (var value in Model[item.Key]) 8 | { 9 | @value 10 | } 11 | } 12 |
-------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Shared/ViewWithLayoutAndNestedTagHelper.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_LayoutWithRootTagHelper.cshtml"; 3 | } 4 | @addTagHelper TagHelpersWebSite.TagHelpers.NestedViewImportsTagHelper, TagHelpersWebSite 5 | some-content 6 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/Shared/_LayoutWithRootTagHelper.cshtml: -------------------------------------------------------------------------------- 1 | layout: 2 | @RenderBody() -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper TagHelpersWebSite.TagHelpers.RootViewStartTagHelper, TagHelpersWebSite 2 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "/Views/Shared/_Layout.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /test/WebSites/TagHelpersWebSite/readme.md: -------------------------------------------------------------------------------- 1 | TagHelpersWebSite 2 | === 3 | 4 | This web site illustrates how to register and use custom tag helpers. 5 | -------------------------------------------------------------------------------- /test/WebSites/VersioningWebSite/readme.md: -------------------------------------------------------------------------------- 1 | VersioningWebSite 2 | === 3 | 4 | This web site illustrates how to implement a versioning policy using action constraints. 5 | -------------------------------------------------------------------------------- /test/WebSites/WebApiCompatShimWebSite/Models/Employee.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace WebApiCompatShimWebSite 5 | { 6 | public class Employee 7 | { 8 | public int Id { get; set; } 9 | 10 | public string Name { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /test/WebSites/WebApiCompatShimWebSite/Models/User.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | 5 | namespace WebApiCompatShimWebSite 6 | { 7 | public class User 8 | { 9 | public string Name { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /test/WebSites/WebApiCompatShimWebSite/Models/UserAddress.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | 5 | namespace WebApiCompatShimWebSite 6 | { 7 | public class UserAddress 8 | { 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/WebApiCompatShimWebSite/Models/UserKind.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace WebApiCompatShimWebSite 5 | { 6 | public enum UserKind 7 | { 8 | Normal, 9 | Admin, 10 | SuperAdmin, 11 | } 12 | } -------------------------------------------------------------------------------- /test/WebSites/WebApiCompatShimWebSite/readme.md: -------------------------------------------------------------------------------- 1 | WebApiCompatShimWebSite 2 | === 3 | 4 | This web site illustrates how to configure and use WebApiCompatShim to get `Web API 2.*` like behavior. Features which 5 | are used include but are not limited to action results, action selection and parameter binding. 6 | -------------------------------------------------------------------------------- /test/WebSites/XmlFormattersWebSite/Models/DummyClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace XmlFormattersWebSite 5 | { 6 | public class DummyClass 7 | { 8 | public int SampleInt { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /test/WebSites/XmlFormattersWebSite/Models/Person.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace XmlFormattersWebSite.Models 7 | { 8 | public class Person 9 | { 10 | public int Id { get; set; } 11 | 12 | public string Name { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /test/WebSites/XmlFormattersWebSite/StartupWith21Compat.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace XmlFormattersWebSite 7 | { 8 | public class StartupWith21Compat : Startup 9 | { 10 | public override CompatibilityVersion CompatibilityVersion => CompatibilityVersion.Version_2_1; 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /test/WebSites/XmlFormattersWebSite/readme.md: -------------------------------------------------------------------------------- 1 | XmlFormattersWebSite 2 | === 3 | 4 | This web site illustrates how to configure and use `XmlSerializerInputFormatter`. 5 | --------------------------------------------------------------------------------