C#关键字partial在asp.net mvc中的应用
2017-01-07 16:23
525 查看
一、概念
一个产品级别的类很容易达到成百上千行代码。一个类定义在一个*.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
根据不同的控制器方法返回不同的页面。
相关文章推荐
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
- 【Asp.Net】C#中checked关键字的应用
- Java进击C#——应用开发之Asp.net MVC
- Java进击C#——应用开发之Asp.net MVC
- Java进击C#——应用开发之Asp.net MVC
- ASP.NET MVC 教程 - 理解MVC应用程执行过程(C#)
- Java进击C#——应用开发之Asp.net MVC
- How to use jquery or ajax to update razor partial view in c#/asp.net for a MVC project
- asp.net mvc Partial OutputCache 在SpaceBuilder中的应用实践
- asp.net mvc Partial OutputCache 在SpaceBuilder中的应用实践
- asp.net(C#)下应用MSMQ收发消息
- MVC architecture in ASP.Net using C#
- ASP.NET应用中用C#实现基于表单的认证
- MVC架构在Asp.net中的应用和实现
- C#.net中MVC架构的应用
- 存储过程在ASP.net(C#)中的应用
- ASP.NET的随机数应用(C#)
- 本周ASP.NET英文技术文章推荐[03/23 - 04/05]:C#、Visual Studio、MVC、死锁、Web 2.0 API、jQuery、IIS7、FileUpload
- ASP.NET Mvc Preview 5 演示Demo #4 实现RadioButtonList与DropDownList应用
- 在Asp.Net MVC中使用NVelocity模板引擎(一)-自定义关键字