我自己Diy的asp.net mvc框架,支持多级目录!
效果如下图:Model-View-Controller全面分离.....
View中去掉了一定要将View放在View文件夹下.....支持多层目录如:/Blog/Account/Manage/user/index
1.传参数:controller/action_param 在action后面加_再跟上参数
由于使用/param的话参数被认为目录了所以不可能,就用_代替了,可以自己在gobal.asax添加更灵活的路由
2.模板页可放在Shared目录下也可以放在Controller根目录或目录下的master文件夹
用户模板可以放在controller目录下的ucs或modules,也可放在根目录
3.添加了一个主题功能配置文件在data/configs/db.xml下可调用Html.BuildCssLink()创建Css链接
BuildJsLink()创建Javascript链接
4.在gobal.ascx中只需要自己定义domain指向的路由就可以了,配置文件代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace Sonven.Mvc
{
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("domain","", new { controller = "Web", action = "Index" }); //添加访问域名路由
}
protected void Application_Start()
{
Sonven.Mvc.Router.MapRouterRules(RouteTable.Routes, 4);
ViewEngines.Engines.Add(new Sonven.Mvc.ViewEngine());
RegisterRoutes(RouteTable.Routes);
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace Sonven.Mvc
{
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("domain","", new { controller = "Web", action = "Index" }); //添加访问域名路由
}
protected void Application_Start()
{
Sonven.Mvc.Router.MapRouterRules(RouteTable.Routes, 4);
ViewEngines.Engines.Add(new Sonven.Mvc.ViewEngine());
RegisterRoutes(RouteTable.Routes);
}
}
不用再为controller/action/id添加路由,默认支持多级目录
点击这里下载源代码aspnet_MVC_Diy.rar
原创内容请您保留出处及地址 , 主页:展益
标签:
Asp.NET
, asp.net MVC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库