当前位置: 首页 > news >正文

5款免费的网站管理系统网站建设制作教程

5款免费的网站管理系统,网站建设制作教程,泰安工作招聘,如何申请企业微信ASP.NET CORE MVC 中#xff0c;默认的 Route 模板是#xff1a; /{controller}/{action} 。我们可以通过开启 URL 小写转换将 URL 变为小写#xff0c;但此方式在 Controller 或者 Action 为一个词组时#xff0c;生成的 URL 并不友好。假设我们有 UserController 和 Add… ASP.NET CORE MVC 中默认的 Route 模板是 /{controller}/{action}  。我们可以通过开启 URL 小写转换将 URL 变为小写但此方式在 Controller 或者 Action 为一个词组时生成的 URL 并不友好。假设我们有 UserController 和 AddUser 方法则框架生成的 URL 可能是 /User/AddUser 在开启小写转换的情况下可能是下面的结果 /user/adduser 。包含大写字符的 URL 并没有问题但是小写的 URL 更加常规而完全转换小写造成的问题就是 URL 的可读性很差。本文将提供一些代码帮助框架生成减号分隔样式的 URL 当应用了这些代码以后生成的 URL 类似这样 /user/add-user 。微软为我们提供了 RouteAttribute 可以对 Controller 或者 Action 进行标记以达到自定义访问路径的目的。这种方式非常强大但在项目较大的情况下使用起来有些繁杂。毕竟手工对每一个 Controller 和 Action 进行标记也有不小的工作量。ASP.NET CORE MVC 框架中定义了一个 IControllerModelConvention 接口我们可以实现该接口在运行时为 Action 附加一个 Route 模型。在项目中新建 DashedRoutingConvention 类文件代码如下   public class DashedRoutingConvention : IControllerModelConvention    {        public void Apply(ControllerModel controller)        {            var hasRouteAttributes controller.Selectors.Any(selector                 selector.AttributeRouteModel ! null);            if (hasRouteAttributes)            {                // This controller manually defined some routes, so treat this                 // as an override and not apply the convention here.                return;            }             foreach (var controllerAction in controller.Actions)            {                foreach (var selector in controllerAction.Selectors.Where(x x.AttributeRouteModel null))                {                    var parts new Liststring();                    foreach (var attr in controller.Attributes)                    {                        if (attr is AreaAttribute area)                        {                            parts.Add(area.RouteValue);                        }                    }                     if (                        parts.Count 0                         controller.ControllerName Home                         controllerAction.ActionName Index                    )                    {                        continue;                    }                     parts.Add(PascalToKebabCase(controller.ControllerName));                     if (controllerAction.ActionName ! Index)                    {                        parts.Add(PascalToKebabCase(controllerAction.ActionName));                    }                     selector.AttributeRouteModel new AttributeRouteModel                    {                        Template string.Join(/, parts)                    };                }            }        }         private static string PascalToKebabCase(string value)        {            if (string.IsNullOrEmpty(value))            {                return value;            }             return Regex.Replace(                    value,                    (?!^)([A-Z][a-z]|(?[a-z])[A-Z]),                    -$1,                    RegexOptions.Compiled)                .Trim()                .ToLower();        }    }之后将 DashedRoutingConvention 在 Startup.cs 中注册。public void ConfigureServices(IServiceCollection services){    // Add framework services.    services.AddMvc(options options.Conventions.Add(new DashedRoutingConvention()));}至此全部代码完毕。Notices本代码支持 Area 并会对 Area 名称也进行转义。本代码使用自定义路由的方式实现功能所以可能对预定义路由有影响。更多与路由相关的信息可参见https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing本代码参考了其他代码详见https://stackoverflow.com/questions/40334515/automatically-generate-lowercase-dashed-routes-in-asp-net-core码农很忙授权中心已经启用了本代码演示https://passport.coderbusy.com/原文https://www.coderbusy.com/archives/956.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/337000/

相关文章:

  • html设计网站wordpress 评论增加字段
  • 搭建正规网站小程序开发难不难
  • 做静态网站用什么软件自己编写代码建设微网站
  • 备案网站ipoa系统主要干什么的
  • 杭州专业网站建设在哪里wordpress主题重置
  • 仿wordpress站赣州专业网站推广
  • 网站开发需要多长时间python链接wordpress
  • 网上交易网邯郸网站seo
  • wordpress图片后加载外链seo服务
  • 婚庆公司网站建设腾讯广告建站工具
  • 焦作建设厅网站wordpress调用视频播放器
  • 网站版面做好江苏省建设工程设计施工图审核中心网站
  • 智能网站平台wordpress同步头条
  • 做采集的网站有流量吗广州建设学校
  • 建设部网站公告外贸网站建设定制
  • 如何搭建 seo网站上海市住房与城乡建设部网站
  • 百度搜不到自己的网站python云服务器网站开发实例
  • 给企业做网站的业务员优书网没了
  • 江门网站建设方案外包洛阳网站设计哪家专业
  • 电暖怎么做网站办公室平面设计图
  • 全屏网站 功能丽水市企业网站建设 微信营销 影视拍摄
  • 天天爱天天做视频网站网站推送
  • 制作企业网站与app有什么不同化工企业网站建设
  • 东莞企业推广网站专门做黄漫的网站
  • 温州网站关键词排名优化win10 电脑做网站服务器
  • 网站设计规划信息技术教案营销模式和营销策略
  • 太仓住房城乡建设网站微信怎么注册
  • 德骏网站建设重庆企业网站如何推广
  • 路由器做内部网站服务器石家庄新闻综合频道在线直播回放
  • 怎么给网站备案亚马逊网站建设与维护方法分析