您当前的位置:首页 > 文章教程 > 计算机与互联网 > 网络编程

19.4用户登录模块

19.4用户登录模块

19.4 用户登录模块

用户登录模块包括系统的首页、用户登录和用户注册这三个功能组成。每个功能由控制器和视图共同来实现,这里主要介绍系统首页的实现。

19.4.1 使用母版页

为了满足系统页面设计需要,这里使用了母版页机制,在Shared文件夹下的_Layout.cshtml母版页文件中设计了整个网站的结构布局。

母版页整个界面由三个div组成,关键的代码如下:

alt

上面的代码中第3行~第27行是第一个div。其中第3行和第4行使用HTML的h1标题标记。第5行~第26行使用HTML的无序列表,其中,第6行~第8行使用li标记显示首页的链接。第9行判断如果用户通过身份验证,第10行和第11行在菜单栏中显示登录和注册的链接;第13行~第17行判断如果用户的角色是Admin,则第15行和第16行菜单栏中显示产品和订单的链接;第18行~第25行判断如果用户的角色是User,则在菜单栏中显示订单记录、购物车、更改密码和退出的链接。第28行执行CategoryMenu控制器中的Store新闻方法将商品类别显示在主页。

第29行是第二个div,第30行是第三个div,显示页尾的文本。

19.4.2 首页

首页作为内容页面被包含在母版页_Layout.cshtml的占位符控件中,首页的控制器动作方法Index定义在Controllers文件夹下的HomeController.cs文件夹中,具体代码如下:

alt

上面的代码中第1行实例化数据实体模型WebshopEntities的上下文对象storeDB。第2行定义ActionResult返回类型的动作方法Index。第3行调用GetTopSellingProducts方法获得Products唱片对象集合。第4行将Products返回到首页视图。

第5行定义获得热门商品列表的方法GetTopSellingProducts,参数是显示商品的数量。第6行使用storeDB. Products的OrderByDescending方法获得排序后热门商品的列表对象。

接着就要设计对应与首页动作方法Index的视图,该视图定义在Views文件夹下Home子文件夹下的Indexd.cshtml文件中,关键的代码如下:

alt

上面的代码中第1行使用@model指令设置视图页面引用的模型实体类Product。第2行设置页面的标题。第3行~第6行使用标题标签h3来显示文本。第7行~第15行定义无序列表。第8行~第14行使用foreach循环显示列表的内容,其中第9行通过Url.Action方法设置路由,参数为动作方法、控制器和传递的参数,第11行设置显示图片的路径,第12行设置图片的标题。

上一篇:19.3实体类模块

下一篇:19.5购物车模块