ASP.NET MVC项目中App_Code目录在程序应用
学习ASP.NET MVC,如果你是开发ASP.NET MVC项目的,也许你去为项目添加前ASP.NET项目的APP_Code目录,在这里创建与添加的Class类,也许你无法在MVC项目所引用。
那这样说,是不是一没有作用了呢?非也。
从下面一步一步来学习。
创建一个model,名称:Machine
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Insus.NET.Models { public class Machine { public int Key { get; set; } public string ModelNumber { get; set; } public string Brand { get; set; } public DateTime ManufactureDate { get; set; } } }
创建一个Entity,名称为MachineEntity:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Insus.NET.Models; namespace Insus.NET.Entities { public class MachineEntity { public IEnumerable<Machine> Machines() { return new List<Machine>() { { new Machine() { Key =1, ModelNumber ="TC03Q", Brand ="QT", ManufactureDate = Convert.ToDateTime("2008/12/31")} }, { new Machine() { Key =2, ModelNumber ="MH26U", Brand ="HW", ManufactureDate = Convert.ToDateTime("2012/03/09")} }, { new Machine() { Key =3, ModelNumber ="DW569", Brand ="XM", ManufactureDate = Convert.ToDateTime("2015/07/25")} } }; } } }
创建一个控制器,名称为MachineController:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Insus.NET.Controllers { public class MachineController : Controller { // GET: Machine public ActionResult MachineList() { return View(); } } }
最后创建视图显示Entity的数据:
上面有一行代码#17:
(new MachineEntity()).
如果一个页面中,多处引用此类,可以把它移至一个语法块中去:
@{......}
是时候运行程序,看看效果:
已经能正常显示数据了,现在,我们需要对时间进行格式化,只想显示日期,去除时间部分:
可以在视图中写一个helper方法:
再次显示:
程序中,如果这个公共helper方法,我们可以放在一个地方法,当项目中其它视图需要使用时,我们就不必再重新写一遍或者拷贝和粘帖了。
在ASP.NET MVCA项目中,把APP_Code目录调出来:
然后在这个目录添加一个Helper cshtml文档:
这个Razor语法的Helper文档,名字使用LeoYang.cshtml
然后修改一个视图的语法,使用到这个公共的Helper:
这样说明,ASP.NET MVC项目中的APP_Code目录,是可以放置一些公共的Helper相关。
完毕。