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; }
    }
}
Source Code

 

创建一个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")}
                }
            };
        }
    }
}
Source Code

 

创建一个控制器,名称为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();
        }
    }
}
Source Code


最后创建视图显示Entity的数据:

 

上面有一行代码#17:

(new MachineEntity()).

如果一个页面中,多处引用此类,可以把它移至一个语法块中去:
@{......}

 

是时候运行程序,看看效果:

 

 

已经能正常显示数据了,现在,我们需要对时间进行格式化,只想显示日期,去除时间部分:

可以在视图中写一个helper方法:

 

再次显示:

 

程序中,如果这个公共helper方法,我们可以放在一个地方法,当项目中其它视图需要使用时,我们就不必再重新写一遍或者拷贝和粘帖了。

在ASP.NET MVCA项目中,把APP_Code目录调出来:

 

然后在这个目录添加一个Helper cshtml文档:

 

 

这个Razor语法的Helper文档,名字使用LeoYang.cshtml

 

然后修改一个视图的语法,使用到这个公共的Helper:

 

这样说明,ASP.NET MVC项目中的APP_Code目录,是可以放置一些公共的Helper相关。


完毕。

 

posted @ 2018-10-28 09:02  Insus.NET  阅读(1755)  评论(0编辑  收藏  举报