zoukankan      html  css  js  c++  java
  • C#关键字partial在asp.net mvc中的应用

    一、概念

    一个产品级别的类很容易达到成百上千行代码。一个类定义在一个*.CS文件中,这就将导致代码文件非常长。在创建类时,大多数代码在确立之后基本上就不再改变了。例如:字段数据、属性和构造函数在生产过程中很少变动,而方法却需要经常改变。这时,你可以将一个类分布到多个C#文件中,这样可以从样板代码中分离出有用的成员。

    要实现这种分离就需要用到C#的partial关键字。有partial关键字修饰的类成为分部类。定义分部类必须遵循两点:1、所有分部类的类型名称(即类名)要相同,为同一个类名。2、所有分部类必须定义在同一个命名空间中。

    二、partial在asp.net mvc控制器中的应用

    asp.net mvc中可以根据产品业务来创建控制器,每个控制器对应产品的一个业务。如果产品的一个业务又可以分出多个需求,那么在这个控制器中会产生大量的代码或者与各个需求相关的方法。

    这时,可以通过定义分部类把不同的需求的代码分布在多个类文件中,类文件以不同的需求来进行命名。对于后期维护也是比较方便的。

    三、应用实例

    1、业务:用户登录

    2、业务的需求:实现企业和个人两种用户登录

    3、控制器:LoginController

    4、方法:EnterpriseLogin(),PersonalLogin()

    5、解决方法:创建两个C#文件来分别实现这两个方法,分别定义两个分部类。

    四、实现代码

    设计如下图

    1、EnterpriseLogin

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace MvcMovie.Controllers
    {
        public partial class LoginController:Controller
        {
            //企业用户登录
            public ActionResult EnterpriseLogin()
            {
                return View();
            }
        }
    }

    2、PersonalLogin

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace MvcMovie.Controllers
    {
        public partial class LoginController : Controller
        {
            //个人用户登录
            public ActionResult PersonalLogin()
            {
                return View();
            }
        }
    }

    3、访问

    用户访问登录页面时url和不采用分部类实现的控制器是一样的。

    企业用户登录页

    http://localhost:5125/Login/EnterpriseLogin


    个人用户登录页

    http://localhost:5125/Login/PersonalLogin

    根据不同的控制器方法返回不同的页面。

  • 相关阅读:
    多线程
    文件上传案例及多线程版本
    TCP、UDP网络通信
    刷题:蘑菇街最小移动次数
    刷题:蘑菇街回文串
    刷题:蘑菇街
    Range Sum Query
    Submission Details
    Reverse Words in a String
    Counting Bits
  • 原文地址:https://www.cnblogs.com/wangzl1163/p/6341114.html
Copyright © 2011-2022 走看看