001. Chapter 1. Getting started with Razor Pages
002. Chapter 1. What can you do with Razor Pages
003. Chapter 1. The technologies that underpin Razor Pages
004. Chapter 1. When should you use Razor Pages
005. Chapter 1. Working with Razor Pages
006. Chapter 1. Summary
007. Chapter 2. Building your first application
008. Chapter 2. Exploring the project files
009. Chapter 2. Understanding middleware
010. Chapter 2. Summary
011. Chapter 3. Working with Razor Pages
012. Chapter 3. Layout pages
013. Chapter 3. Reusable HTML with partial views, tag helpers, and view components
014. Chapter 3. The PageModel
015. Chapter 3. Summary
016. Chapter 4. Matching URLs to Razor Pages with routing
017. Chapter 4. Customizing route templates
018. Chapter 4. Generating URLs
019. Chapter 4. Summary
020. Chapter 5. Working with forms Model binding
021. Chapter 5. Model binding
022. Chapter 5. Validating user input in Razor Pages
023. Chapter 5. Summary
024. Chapter 6. Working with forms Tag helpers
025. Chapter 6. Input and label tag helpers
026. Chapter 6. The select tag helper
027. Chapter 6. Check boxes and radio controls
028. Chapter 6. Uploading files
029. Chapter 6. Summary
030. Chapter 7. Using dependency injection to manage services
031. Chapter 7. Inversion of control containers
032. Chapter 7. Other ways to access registered services
033. Chapter 7. Summary
034. Chapter 8. Working with data
035. Chapter 8. Migrations
036. Chapter 8. Querying data
037. Chapter 8. Scaffolding CRUD pages
038. Chapter 8. Creating, modifying, and deleting data
039. Chapter 8. Summary
040. Chapter 9. Managing users with authentication
041. Chapter 9. ASP.NET Core Identity
042. Chapter 9. Customizing Identity
043. Chapter 9. Summary
044. Chapter 10. Controlling access with authorization
045. Chapter 10. Working with roles
046. Chapter 10. Claims-based authorization
047. Chapter 10. Authorizing resources
048. Chapter 10. Summary
049. Chapter 11. Client-side technologies and AJAX
050. Chapter 11. Calling page handlers from JavaScript
051. Chapter 11. Minimal request-handling APIs
052. Chapter 11. CSS Isolation in Razor Pages
053. Chapter 11. Summary
054. Chapter 12. Troubleshooting your application
055. Chapter 12. StatusCodePages
056. Chapter 12. Logging
057. Chapter 12. Summary
058. Chapter 13. Protecting your application against external attacks
059. Chapter 13. Broken access control
060. Chapter 13. Cryptographic failures
061. Chapter 13. Injection attacks
062. Chapter 13. Summary
063. Chapter 14. Configuring and publishing your application
064. Chapter 14. Application configuration
065. Chapter 14. Improving performance with caching
066. Chapter 14. Publishing your application
067. Chapter 14. Summary