MVC Music Store 在线音乐商店示例分析(11)StoreController

StoreController商店控制器,用于商品信息的一些操作。

注释后的源代码如下:

1 /// <summary>
2 /// 商店控制器
3 /// </summary>
4   public class StoreController : Controller
5 {
6 MusicStoreEntities storeDB = new MusicStoreEntities();
7
8 //
9 // GET: /Store/
10   /// <summary>
11 /// 呈现类别列表页面
12 /// </summary>
13 /// <returns></returns>
14 public ActionResult Index()
15 {
16 var genres = storeDB.Genres.ToList();
17
18 return View(genres);
19 }
20
21 //
22 // GET: /Store/Browse?genre=?Disco
23 /// <summary>
24 ///
25 /// </summary>
26 /// <param name="genre"></param>
27 /// <returns></returns>
28 public ActionResult Browse(string genre)
29 {
30 // Retrieve Genre and its Associated Albums from database
31 // 从数据库中检索指定名称的类型及其相关的相册信息
32 // 根据类别名称所关联的Albums对象
33 var genreModel = storeDB.Genres.Include("Albums")
34 .Single(g => g.Name == genre);
35
36 return View(genreModel);
37 }
38
39 //
40 // GET: /Store/Details/5
41 /// <summary>
42 /// 检索指定编号的相册信息
43 /// </summary>
44 /// <param name="id">相册编号</param>
45 /// <returns></returns>
46 public ActionResult Details(int id)
47 {
48 var album = storeDB.Albums.Find(id);
49
50 return View(album);
51 }
52
53 //
54 // GET: /Store/GenreMenu
55
56 /// <summary>
57 /// 生成类别菜单
58 /// ChildActionOnly特性用于指示操作方法只应作为子操作进行调用。
59 /// 子操作方法呈现部分视图的内联 HTML 标记而不是呈现整个视图。
60 /// 标记有 ChildActionOnlyAttribute 的任何方法只能通过 Action 或 RenderAction HTML 扩展方法调用。
61 /// http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(SYSTEM.WEB.MVC.CHILDACTIONONLYATTRIBUTE);k(CHILDACTIONONLY)&rd=true
62 /// </summary>
63 /// <returns></returns>
64 [ChildActionOnly]
65 public ActionResult GenreMenu()
66 {
67 var genres = storeDB.Genres.ToList();
68
69 return PartialView(genres);
70 }
71 }

    Index Action用于呈现按类别显示的商品信息。

    Browse Action用于呈现按照类别分类显示的相册信息。

    Details Action用于呈现指定编号的相册信息。

    GenreMenu Action用于呈现类别菜单,该Action有ChildActionOnly特性标记修饰。所以该Action是个部分页面。用于将来在界面呈现出类别菜单。

原文地址:https://www.cnblogs.com/stevenhqq/p/1971605.html