您的位置:首页 > 编程语言 > ASP

C#关键字partial在asp.net mvc中的应用

2017-01-07 16:23 483 查看

一、概念

一个产品级别的类很容易达到成百上千行代码。一个类定义在一个*.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

根据不同的控制器方法返回不同的页面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# asp.net mvc partial