65.9K
CodeProject 正在变化。 阅读更多。
Home

适用于初学者的ASP.NET MVC三层架构Web应用程序 – 第三部分

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.79/5 (13投票s)

2015年7月2日

CPOL

4分钟阅读

viewsIcon

26376

适用于初学者的ASP.NET MVC三层架构Web应用程序 – 第三部分

引言

本文是 第一部分 & 第二部分 的续篇。

在第一篇文章中,我们了解了需求,然后将其分解为对象,找出它们之间的关系,最后设计和实现了数据库。好消息是,我们的第一篇文章赢得了 2014年11月最佳文章奖

在第二篇文章中,我们学习了如何创建一个解决方案,然后向其中添加多个项目,并为相应的项目添加所需的引用。因此,我们的业务对象层最终完成了。现在,让我们快速回顾一下我们目前为止开发的内容,即我们的后端、业务对象层已经完成。

3:实现所有层(UI原型设计)

现在,在这篇文章中,我们将使用ASP.NET MVC来实现我们的UI(用户界面)。

为了实现这一点,我们需要再次回顾角色和职责

角色

  • 用户
    • 可以浏览URL
    • 可以注册
    • 可以提交URL
  • Admin
    • 可以CRUD(创建、读取、更新和删除)类别
    • 可以查看所有用户
    • 可以批准或拒绝URL

牢记以上所有信息,假设我们已经设计了一个原型,您可以称之为UI原型。

让我们来看看

主页,或者您可以称之为仪表板,某种我想要展示的日历。通常,所有用户都可以访问此主页。无论是管理员/用户/任何人。这是一个公共页面。

类别页面

我可以在此页面创建类别。通常,只有管理员应该访问此页面。

列出类别页面

此页面也仅由管理员访问。管理员可以看到他创建的所有类别。

注册页面

任何用户都可以注册。每个人都可以访问此页面。

提交URL页面

用户注册后,就可以提交URL。只有注册用户才能访问此页面。您可以说只有角色为“U”的用户才能访问。

批准URL页面

用户提交URL后,该URL将反映给管理员。管理员可以查找已提交的URL,然后管理员可以选择一些URL并批准或拒绝。一旦批准,它将在“浏览URL”中可用。

此页面仅由管理员或角色为“A”的用户访问

浏览URL页面

任何人都可以访问此页面。任何人都可以来浏览可用的URL。

列出用户页面

此页面仅供管理员使用

登录页面

管理员或现有用户可以从这里登录。

现在,我将把它分解为模块。

总共有九个页面。

  1. Home
  2. 类别
  3. 列出类别
  4. Register
  5. 提交URL
  6. 批准URL
  7. 浏览URL
  8. 列出用户
  9. 登录

基本上,这是我们的流程。我将把它分解为各个模块。

UI模块

  • 用户
    • 可以提交URL

      在成为用户之前,他是一个访客,注册后就可以提交URL。

  • Admin
    • 可以创建类别
    • 可以列出类别
    • 可以列出用户
    • 可以批准URL
  • 公共(无需登录)
    • Home
    • 浏览URL
  • 安全
    • 登录
    • Register

所以,基本上我得到了四个模块,所有的页面都转移到了这些模块中。在我们以前的ASP.NET Web Forms中,我们通常会创建四个不同的文件夹(User、Admin、Common和Security)并将相关的aspx页面添加到这些文件夹中。但是,这里没有文件夹的概念。取而代之的是,我们有区域(Areas)的概念。我可以在每个模块中添加一个区域。

现在,如果我们创建区域会发生什么?

用户模块的SubmitURL页面的URL将如下所示:BaseURL/User/SubmitURL

管理员模块的示例

同样,我们也有Common和Security。

公共模块的示例

安全模块的示例

在我们的MVC中,我们谈论的是区域。我将创建4个区域。我称之为4个UI区域。

让我们看看如何在MVC中创建这些区域。

要创建一个区域,请右键单击LinkHubUI -> 添加 -> 区域。

添加公共区域

在MVC5中处理区域变得非常容易。以前我们需要编写配置设置,如下所示。

   public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
                "Common_default",
                "Common/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }

而现在您的MVC会自动处理所有URL路由设置。您可以看到,在区域中,我有了Common。Common具有Controllers、Models和Views的结构,即MVC。

CommonAreaRegistration.cs是URL路由文件。以前我们需要编写URL路由代码。但在MVC5中,它会自动创建。

现在,让我快速为(User、Security和Admin)添加另外三个区域。

重建项目,然后重建解决方案。

我们已完成在MVC中添加区域。

接下来,我需要为相应的区域添加所有控制器。

让我们看看如何创建控制器。我们如何知道需要创建多少个控制器?如何决定一个控制器应该包含多少个操作?

这很简单,让我们看看SubmitURL页面。我如何为此定义控制器以及该控制器中的操作?

我们将在下一篇文章中介绍。

感谢阅读。

© . All rights reserved.