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

个人网站备案描述做电影网站赚钱知乎

个人网站备案描述,做电影网站赚钱知乎,汽车网站模板免费下载,vip视频解析网站怎么做一.URL 生成 接着上篇讲MVC的路由#xff0c;MVC 应用程序可以使用路由的 URL 生成功能#xff0c;生成指向操作的 URL 链接。 生成 URL 可消除硬编码 URL#xff0c;使代码更稳定、更易维护。 此部分重点介绍 MVC 提供的 URL 生成功能#xff0c;并且仅涵盖 URL 生成工作原… 一.URL 生成   接着上篇讲MVC的路由MVC 应用程序可以使用路由的 URL 生成功能生成指向操作的 URL 链接。 生成 URL 可消除硬编码 URL使代码更稳定、更易维护。 此部分重点介绍 MVC 提供的 URL 生成功能并且仅涵盖 URL 生成工作原理的基础知识。 IUrlHelper 接口用于生成 URL是 MVC 与路由之间的基础结构的基础部分。 在控制器、视图和视图组件中可通过 Url 属性找到 IUrlHelper 的实例。 //// mvc 框架的ControllerBase类下//摘要:// Gets or sets the Microsoft.AspNetCore.Mvc.IUrlHelper.public IUrlHelper Url { get; set; }      1.1 传统路由下的url生成     下面示例中通过使用IUrlHelper接口在index页面生成指向另一操作Destination的 URL超连接。 [Route(Home/Index)]public IActionResult Index(){// Generates /Home/Destinationvar url Url.Action(Destination);var urlAddress a href\ url \ Click on to the Destination/a;ViewData[url] urlAddress;return View();}public IActionResult Destination(){return View();}// Index.cshtml Html.Raw(ViewData[url].ToString())     当加载index页面后点击超连接Click on to the Destination 将进入后台控制器的Destination操作中。     上面的 Url.Action 示例假定使用传统路由但 URL 生成功能的工作方式与属性路由相似只不过概念不同。 在传统路由中路由值用于扩展模板。controller 和 action 的路由值通常出现在该模板中 这种做法可行是因为通过路由匹配的 URL 遵守某项约定。 这里的扩展模板指的是routes.MapRoute来添加路由规则约定。     1.2 属性路由下的url生成     在属性路由中controller 和 action 的路由值不能出现在模板中(也就是不会使用routes.MapRoute)它们用于查找要使用的模板。 //首先不用传统路由去掉了routes.MapRoutepublic void Configure(IApplicationBuilder app){app.UseMvc();}[Route()]public IActionResult Index(){// Generates /custom/url/to/destination var url Url.Action(Destination);var urlAddress a href\ url \ url/a;ViewData[url] urlAddress;return View();}[HttpGet(custom/url/to/destination)]public IActionResult Destination(){return View();}      生成如下图所示 所以会生成与httpget配置的路径一样是因为属性路由下的url生成它们用于查找要使用的模板。MVC 生成一个包含所有属性路由操作的查找表并匹配 controller 和 action 的值以选择要用于生成 URL 的路由模板。   1.3 根据action名称生成 URL     Url.Action (IUrlHelper . Action) 以及所有相关重载都基于这样一种想法用户想通过指定控制器名称和操作名称来指定要链接的内容。 [Route()]public IActionResult Index(){// Generates /Home/Destination/1?colorredvar url Url.Action(Destination,Home,new { id1 , colorred});var urlAddress a href\ url \ url /a;ViewData[url] urlAddress;return View();}public IActionResult Destination(int id,string color){return View();}   1.4 根据路由名称生成 URL     IUrlHelper 还提供 Url.RouteUrl 系列的方法。 这些方法类似于 Url.Action。Url.RouteUrl 指定一个路由名称以使用特定路由来生成 URL通常不指定控制器或操作名称。 [Route()]public IActionResult Index(){// Generates /custom/url/to/destinationvar url Url.RouteUrl(Destination_Route);var urlAddress a href\ url \ Click on to the Destination/a;ViewData[url] urlAddress;return View();}[HttpGet(custom/url/to/destination, Name Destination_Route)]public IActionResult Destination(){return View();}   1.5  其它生成      (1)在 HTML 中生成 URL IHtmlHelper 提供 HtmlHelper 方法 Html.BeginForm 和 Html.ActionLink可分别生成 form 和 a元素。 这些方法使用 Url.Action 方法来生成 URL并且采用相似的参数。     (2)在action中重定向RedirectToAction(Index);    二. area区域路由     区域是一种 MVC 功能用于将相关功能整理到一个组中作为单独的路由命名空间用于控制器操作和文件夹结构用于视图。 通过使用区域应用程序可以有多个名称相同的控制器只要它们具有不同的区域。 通过向 controller 和 action 添加另一个路由参数 area可使用区域为路由创建层次结构。     下面是mvc文件结构对于users控制器在视图层多了一级Manage文件夹。如何使users控制器中AddUser操作关联AddUser.cshtml呢下面使用区域路由来实现 app.UseMvc(routes {//用于名为 Blog 的区域routes.MapAreaRoute(blog_route, Blog,Manage/{controller}/{action}/{id?});/** 注释的MapRoute与上面的区域路由作用一样routes.MapRoute(blog_route, Manage/{controller}/{action}/{id?},defaults: new { area Blog }, constraints: new { area Blog });*/routes.MapRoute(name: default,template: {controllerHome}/{actionIndex}/{id?});});      //控制器上应用区域路由       [Area(Blog)] public class UsersController : Controller{// GET: /controller/public IActionResult AddUser(){return View();}}     在浏览器中输入/Manage/Users/AddUser 将自动进入AddUser()中这是因为当前路由Manage/{controller}/{action}/{id?}符合blog模板所以使用Blog区域路由。     三. IActionConstraint 路由约束     实现IActionConstraint最简单的方法是创建派生自 System.Attribute 的类并将其置于操作和控制器上。MVC 将自动发现任何应用属性IActionConstraint的操作和控制器。     在下面的示例中约束基于路由数据中的国家/地区代码选择操作,开发人员负责实现Accept 方法当路由中id值为en-US时Accept 方法返回 true 以表示该操作是匹配项一切按正常解析返回客户端。 如果Accept 方法返回false将不执行IActionConstraint标记的action向客户端返回404错误。 //定义ActionConstraint属性约束 public class CountrySpecificAttribute : Attribute, IActionConstraint{private readonly string _countryCode;public CountrySpecificAttribute(string countryCode){_countryCode countryCode;}public int Order{get{return 0;}}public bool Accept(ActionConstraintContext context){return string.Equals(context.RouteContext.RouteData.Values[id].ToString(),_countryCode,StringComparison.OrdinalIgnoreCase);}} //应用路由的action约束并且路由中id值为en-US[CountrySpecific(en-US)]public IActionResult Privacy(string countryCode){return View();}     在浏览器测试时如果输入http://localhost:30081/home/Privacy/zh-cn则网页显示404。如果输入http://localhost:30081/home/Privacy/en-US 则符合约束网页显示正常。       参考文献   官方资料:asp.net core routing   转载于:https://www.cnblogs.com/owenzh/p/11212514.html
http://www.zqtcl.cn/news/334362/

相关文章:

  • 北京 顺义 网站制作h5网站网站建设
  • 网站在百度上搜不到了wordpress导航菜单加图片
  • wordpress网站访问慢网站建设35类
  • 绍兴做网站价格字体
  • asp.net网站开发实训可以不花钱做网站吗
  • 北京网站的制作设计服务器和电脑主机的区别
  • 北京网站建设的服务公司凡科网站 怎么开支付
  • 包头公司做网站知名做网站费用
  • 安徽网站建设服务平台重庆网站建公司大全
  • 有什么网站可以做中间人的相城区建设局网站
  • 房屋装修在线设计网站百度联盟广告怎么屏蔽
  • 网站,商城,app+建设域名网址注册
  • 肥西做网站设计网页页面
  • 怎样做百度推广网站iis服务器的默认网站
  • 东莞建设工程交易中心门户网站湖南设计网站机构
  • 做网站在网站建设客户
  • 河北建设厅安监站官方网站一个新手怎么做电商
  • 做结婚请柬网站有那些做网店哪个网站好
  • 做网站尽在美橙互联欧美简约风格网站设计
  • idea建设完整的网站微官网下载
  • 阿城区建设小学网站上海建设行政主管部门政务网站
  • 西丽网站建设网站怎样做才能有点击率
  • 网站建设图片大小建设部网站1667号公告
  • 做wps的网站赚钱网站建设中网站图片如何修改
  • 公司招商型网站建设怎么自己做网站挣钱
  • 红酒手机网站建设中视频自媒体注册
  • 免费网站2022年能用的网址青阳网站建设
  • 网站建设的开发方式知乎科技部网站建设合同范本
  • 兰州市建设厅官方网站做酒店的网站
  • 宠物店网站开发文档撰写洛阳市河阳建设工程有限公司网站