Copyrighted Material
Total Page:16
File Type:pdf, Size:1020Kb
Index caching data, 76 A CDNs (Content Delivery Networks), 76–77 Accept-Language HTTP header, 465, 469 controller class in BLL, 74–75 Access database, as data store, 66 DAL (data access layer), 67 accessibility data store selection, 66–67 selling products online and, 377 Design section, 64–83 site design process and, 48 exception handling and, 77–78 use of tables and, 40–41 JavaScript integration, 82–83 account box settings, 134 layered approach to, 64–65 accounts, managing user accounts, 86 LINQ Entity Framework, 72 actions, controller, 31–32, 175 LINQ impact on DAL, 69–71 AddOption action, opinion poll controllers, 273 LINQ-to-SQL and, 71–72 AddShoppingCartItem action, e-commerce multiple data store support, 67–69 controllers, 401–402 MVC framework and, 64 administration output options and, 78 e-commerce store. See storefront administration presentation layer best practices, 80 views Problem section, 63–64 newsletter, 296 search engine optimization, 81–82 administration console, for polls module, 257 securing DAL, 72–74 administration pages, tools for creating, 89 security and, 75 administrators Solution section, 83 managing user accounts, 86 summary, 83 role, 176 transaction management, 78 AdminProductItem.ascx control user interface, 79 ManageProducts.aspx view, 434–435 views and, 80–81 ViewDepartment.aspx views, 440–441 web.config configuration, 78–79 AdminSidebar.ascx control archiving opinion polls, 258 forum views, 350–351 Article class, 166–168 news, articles, and blog views, 222 extending LINQ objects, 187–188 opinion poll views, 280 methods, 167–168 Adobe Photoshop, site mockup with, 35 overview of, 166 advertising properties, 166–167 newsletters and, 296 article item view user control, 172–173 opinion polls and, 255 ArticleItem.ascx control, 231–233 as revenue option, 375COPYRIGHTEDarticles MATERIAL AJAX approved status for contributors, 153 default files in project creation and, 23 ArticleItem.ascx control, 231–233 extension methods, 29 CreateArticle action, 207–209 MVC applications and, 83 CreateArticles.aspx view, 235–241 UpdatePanel, 307 EditArticle action, 209–211 ALL (application logic layer), 65 extension method queries, 163–164 anonymous users, support for, 106–107 images included in, 172 Apple Safari, 34 Index action for displaying published, 199–201 application logic layer (ALL), 65 ManageArticle action, 205–206 application settings, ASP.NET Web-based ManageArticles.aspx view, 233–235 administration tools for, 107 RateArticle action, 204–205 architecture, planning rating, 249–250 BLL (business logic layer), 74 RemoveArticle action, 212–213 10950bindex.indd 503 5/13/09 4:51:07 PM articles (continued) articles (continued) Problem section, 1–2 RemoveArticles.aspx view, 241–242 Solution section, 4–5 securing the viewing of, 191–192 summary, 5 ViewArticle action, 202–204 BLL (business logic layer), 74–79 writing with WYSIWYG editor, 171–172 caching data, 76 articles table CDNs (Content Delivery Networks), 76–77 article content information in, 157–159 controller class in, 74–75 LINQ-to-SQL schema and, 180 exception handling and, 77–78 ASP.NET layered design and, 65 tools for creating login and administration pages, 89 output options and, 78 tools for managing users, 107–108 overview of, 74 ASP.NET MVC, introduction to security and, 75 ASP.NET Web Forms compared with, 10–11 transaction management, 78 choosing between ASP.NET Web Forms and ASP.NET web.config configuration, 78–79 MVC, 12–13 breadcrumbs, as navigational hints, 33 controller, 30–32 business logic layer. See BLL (business logic layer) creating first project, 19–25 ByDepartment query, LINQ queries for e-commerce installing, 17–19 store, 397 installing prerequisite software, 13–17 model, 25–26 MVC pattern defined, 9–10 C overview of MVC pattern, 7–9 C# 3.0 prerequisites for, 13 synchronizing access to shared resources, 304–306 strengths/weaknesses, 11–12 syntax for getters and setters, 191 summary, 32 caching data, 76 view, 26–29 CAs (certificate authorities), 377–378 ASP.NET Web Forms Cascading Style Sheets. See CSS (Cascading ASP.NET MVC compared to, 10–11 Style Sheets) choosing between ASP.NET Web Forms and ASP.NET catalogs, of online products, 376 MVC, 12–13 categories MVC view objects inheriting from, 27–28 forums supporting, 328 strengths/weaknesses, 10–11 of products in online store, 376 Atom categories, in article, news, and blog management content syndication with, 151–152 category extension method queries, 164–165 producing/consuming Atom feeds, 173–174 CategoryIndex actions, 201–202 syndication view, 251–253 CategoryIndex.aspx view, 246 attach method, for database deployment, 479–483 CategoryItem.ascx control, 220–222 Atwood, Jeff, 8 CreateCategory action, 213–214 authentication CreateCategory.aspx view, 225–229 distributed authentication system, 88 EditCategory action, 214–215 membership used for, 89–93 ManageCategories.aspx view, 222–225 Windows vs. Forms based, 88 RemoveCategory action, 216–217 authorization RemoveCategory.aspx view, 229–231 defined, 86 categories table roles, 100–102 article category information in, 156–157 Authorize method, MVC security and, 103 LINQ-to-SQL schema and, 181 Category class, 168 CDNs (Content Delivery Networks), 76–77 B certificate authorities (CAs), 377–378 background threads, 302–306 ChangePassword action method, membership system backup and maintenance plan, site deployment and, controller action, 123–124 483–486 ChangePassword.aspx view, membership system TheBeerHouse project views, 138–139 Design section, 2–3 Cheapest query, LINQ queries for e-commerce overview of, 1 store, 395 504 10950bindex.indd 504 5/13/09 4:51:07 PM controllers ClosePost action, forum controller actions, 349–350 content CMS (Content Management System), 85 email notification when adding new content to code behind websites, 295 code-behind page for sharing behaviors, 49 important features of content-based sites, 3 HTML model in ASP.NET 1.x, 36 Content Delivery Networks (CDNs), 76–77 coding, declarative vs. imperative, 176 Content Management System (CMS), 85 collections content pages IEnumerable class and, 165 accessing master page from, 44–45 paging through, 189–191 editing and effect on master pages, 43 transparent collection enumerator, 191–192 inheriting from master pages, 42 colors, best practices for presentation layer, 80 ContentPlaceHolder control, 42–43 Comment class, 168–170, 189 contributors role, articles and, 176 comments, in news, articles, and blog management controller classes adding, 250–251 in BLL, 74–75 CommentItem.ascx control, 242–243 output options and, 78 CreateComment action, 217–218 controller factory, 31 EditComment action, 218–219 controllers, 30–32 editing, 245–246 actions, methods, results, filters, and selectors, ManageComments.aspx view, 243–246 31–32 RemoveComment action, 219–220 in Atwood’s example, 9 removing, 244–245 author’s definition, 9 sorting, 169–170 controller class in BLL, 74–75 comments table controller factory, 31 feedback on published articles, 159 default controllers created during project creation, 22 LINQ-to-SQL schema, 181 localization of, 475–476 commerce.js overview of, 30 for departments, 428 Reenskaug’s definition of, 8 for products, 435–436 securing actions of, 103–104 for shipping carts, 446 URL routes and, 30–31 for shipping methods, 437–438 controllers, e-commerce store CommerceSidebar.ascx control, storefront AddShoppingCartItem action, 401–402 administration views, 423 CompleteOrder action, 403–408 communication CreateDepartment action, 409–411 important features of content-based sites, 3 CreateProduct action, 414–415 uses of opinion polls, 255 CreateShipping action, 420–421 community, building site community, 327 DeleteProduct action, 417 CompleteOrder action, e-commerce controllers, DeleteShipping action, 421 403–408 DeleteShoppingCartItem action, 402–403 CompleteOrder.aspx view designing, 387–389 designing e-commerce views, 386 EditDepartment action, 411–412 order processing views, 451 EditProduct action, 415–417 configuration module, for e-commerce store implementing, 397 designing, 384 Index action, 398 implementing, 392–393 ManageDepartments action, 409 configuration module, for news, articles, and blogs ManageOrders action, 418 designing, 161 ManageProducts action, 413 implementing, 176–177 ManageShipping action, 420 configuration module, for newsletters ManageStore action, 408–409 configuring web.config, 310 OrderDetail action, 418–420 designing, 307–308 overview of, 397 configuration module, for opinion polls ViewDepartment action, 398–399 designing, 260 ViewProduct action, 399 implementing, 263–264 ViewShoppingCart action, 399–400 configuration module, forums controllers, forum designing, 330 ClosePost action, 349–350 implementing, 333 CreateForum action, 342–343 505 10950bindex.indd 505 5/13/09 4:51:07 PM controllers (continued) controllers, forum (continued) CreatePoll action, 269–270 CreatePost action, 346–349 designing, 262 designing, 332 EditOption action, 273–274 EditForum action, 343–345 EditPoll action, 270–271 implementing, 336 implementing, 266 Index action, 337 Index action, 266–267 ManageForums action, 341 ManagePolls action, 268–269 ManagePosts action, 342 RemoveOption action, 274 RemoveForum action, 345–346 RemovePoll action, 271–272 RemovePost action, 350 SetArchived action, 275 ViewForum action, 337–338 SetCurrent action, 274–275 ViewPost action, 338–339 Vote action, 267–268 Vote action, 340–341 cookies, handling multiple votes in opinion controllers, membership system polling, 258–259 ChangePassword action method, 123–124 CPUs, multi-threading