学用MVC4+EF+Razor做网站:序
转眼之间2013年过去了,花费了大半年在时间,终于把一个钢铁网电子交易平台做好了,这是一套完整的电子商城系统,完全基于ASP.NET MVC+EF三层构架,开发环境为Visual Studio 2012 ,兼容各种主流浏览器!
后台功能包含了:
一 用户管理:注册用户管理,新注册用户审核,主账号子账号,管理员管理,角色权限查看
二 文章管理:公告信息,帮助中心,关于我们,招聘信息,免责声明等
三 基础设置: 产品类别,材质管理,规格管理,区域管理,厂商管理,仓库管理,销售状态管理,产品管理
四 政策管理(用于对购物总价的计算):仓库政策管理,产品政策管理,月结政策管理
五 订单管理 包括订单,提单,返单 六 库存管理
前台包含了: 用户申请,用户资料完善,后台文章在展示,购物车,购物返利,在线下订单等功能
系统还开发了基于Windows Form的Excel导入数据库的用户界面,图片上传,产品价格自动运算,打印等很多智能化功能。
部分效果图如下:
为了对C# ASP.NET MVC4的达到如火纯青的地步,就把这个项目重头做一遍,加深下理解:
首先打开VS2012,新建项目,将网站命名为MvcGangtie:
下一步:
我们会看到界面如下:
接下来我们做一些准备工作:
删除App_Start文件夹下的FilterConfig.cs WebApiConfig.cs, AuthConfig.cs;
将RouteConfig.cs修改如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcGangTie { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, //因为在Area中也注册了一个与根目录下同名的OrderController所以要在下面加上Router的命名空间!不然可能会出错: // 找到多个与名为“Order”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有“namespaces”参数的“MapRoute”方法的重载来注册此路由。 //“Order”请求找到下列匹配的控制器: //MvcGangTie.Areas.Mana.Controllers.OrderController //MvcGangTie.Controllers.OrderController new string[] { "MvcGangTie.Controllers" } ); } } }
删掉Filters文件夹;
将Global.asax 删掉多余的Application_Start()中在内容修改为:
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
由于这个平台包含前台部分和后台部分,我们就在项目中添加一个名为 Mana 在区域
ManaAreaRegistration.cs 修改如下:
using System.Web.Mvc; namespace MvcGangTie.Areas.Mana { public class ManaAreaRegistration : AreaRegistration { public override string AreaName { get { return "Mana"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Mana_default", "Mana/{controller}/{action}/{id}", new { controller = "Index", action = "Index", id = UrlParameter.Optional }, //因为在Area中也注册了一个与根目录下同名的OrderController所以要在下面加上Router的命名空间!不然可能会出错: // 找到多个与名为“Order”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有“namespaces”参数的“MapRoute”方法的重载来注册此路由。 //“Order”请求找到下列匹配的控制器: //MvcGangTie.Areas.Mana.Controllers.OrderController //MvcGangTie.Controllers.OrderController new string[] { "MvcGangTie.Areas.Mana.Controllers" } ); } } }
将 web.config 数据库连接做如下修改:
<connectionStrings> <add name="ProwebEntities" connectionString="Data Source=|DataDirectory|MvcGangTie.sdf" providerName="System.Data.SqlServerCe.4.0"/> </connectionStrings>
准备工作先做到这里,接下来就正式开始。。。。。。。。。。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。