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

网易做相册旅游网站附近的成人电脑培训班

网易做相册旅游网站,附近的成人电脑培训班,龙岗公司网站建设,建筑工程公司组织架构图前几篇文章介绍了路由的相关知识,包括原理,模板和约束。围绕的一个点就是URL,那么URL是如何生成的呢? 在 ASP.NET CORE应用程序中,使用了一个叫 LinkGenerator的链接生成器来生成URL的。 LinkGenerator是一个中间件组件…

前几篇文章介绍了路由的相关知识,包括原理,模板和约束。围绕的一个点就是URL,那么URL是如何生成的呢?

在 ASP.NET CORE应用程序中,使用了一个叫 LinkGenerator的链接生成器来生成URL的。

LinkGenerator是一个中间件组件,可以在 DI 容器中得到它的实例,从而使用它来生成 URL。

在 ASP.NET CORE应用程序的所有类中以 DI的方式注入LinkGenerator来生成具体的URL。生成 URL是指根据当前上下文环境、控制器、操作、参数等生成一个可以点击的超链接字符串。

我们都知道,我们路由到资源的一般形式是——>控制器——>控制器下的方法——>方法中的参数

于是就有类似的URL字符串——>/控制器名/方法名/参数。

而这个URL模式生成的模板,是根据路由模板生成的,可以看这篇文章。

在MVC项目下注入LinkGenerator

比如在一个控制器中添加LinkGenerator,我们使用构造函数注入的方式

private LinkGenerator _link;
public 业务类名Controller(LinkGenerator link)
{
_link = link;
}

使用LinkGenerator生成URL

假设在控制器下有个Show方法,在注入了LinkGenerator之后,就可以使用它来生成URL。具体为

public IActionResult Show()
{string? url = _link.GetPathByAction("Add", "Product");return View();
}

这段代码中,GetPathByAction说明的是

(1). 第 1 个 是 action ,它是必选参数,用于指定操作的名称,这里使用的操作是Add方法。
(2). 第 2 个 是 controller,它也是必选参数,用于指定控制器的名称,这里使用的控制器是 Product。
(3). 该函数之后的参数都是可选参数,可有可无。
(4). 返回类型是string类型,也就是生成后的 URL 字符串。

注意这里的Show方法返回的是View,所以需要有个视图去接这个返回值,否则会报错。

当然也可以打断点在Return view这里,就可以看到生成的URL是什么样子的。

如何使用LinkGenerator生成带有参数的URL

使用 LinkGenerator生成的URL 中,需要使用object类型的 values 来实现,是一个匿名类型。

以id参数为例——>

        public IActionResult Show(){string? url = _link.GetPathByAction("Add", "Product", new { id = "100" });return View();}

从代码中得知,此参数类型是一个匿名参数,其中的id为参数值,值为100。

LinkGenerator生成URL时,两种类型值

使用它生成URL时,会有两种类型的值

(1). 显式值:明确指出控制器或操作的文本名称。 需要开发人员明确的知道生成URL的控制器、操作和参数的值的名称。
(2). 环境值:根据当前HTTP上下文 HttpContext 自动识别出控制器或操作的值。

如果我们把url改写为

 string? url = _link.GetPathByAction(HttpContext);

这个代码的意思就是根据 HttpContext上下文生成的URL就是当前访问的URL。

两种类型的混合使用

显式值会替代HttpContext指定的环境值,也就是显式值优先。

具体使用如下

 public IActionResult Show(){string? url = _link.GetPathByAction(HttpContext, "List", null, new { id = 100 });return View();}

这段代码的意思就是,如果某个可选参数没有,直接null替代,生成的URL就是路由模板规定的范式/控制器名/List/100

当然,更多的使用可以参考官网内容

http://www.tj-hxxt.cn/news/95560.html

相关文章:

  • openwrt 做视频网站seo优化服务是什么
  • 建立html网站网络营销计划包括哪七个步骤
  • 汕头门户网站如何做网站推广私人
  • 大型建站公司关键词排名监控批量查询
  • 在线教育网站建设高端网站建设深圳
  • 专业的移动客户端网站建设郑州网站推广技术
  • 如何做登录网站子域名大全查询
  • 徐汇科技网站建设东莞新闻头条新闻
  • 免费网站推广怎么做清博舆情系统
  • 新闻网站建设评比规则网站制作公司怎么样
  • 网站qq聊天代码营销软文怎么写
  • 优惠劵网站怎么做如何在百度上营销
  • wordpress二维码吸粉seo项目
  • 旅行社电商网站怎么做2022最近比较火的热点话题
  • 杭州公司外贸网站设计百度投流运营
  • 综合网站有哪些深圳百度seo公司
  • 怎么做代购彩票网站吗百度app下载安装官方免费下载
  • 南昌做网站哪家公司比较好市场营销策划公司排名
  • 怎么让自己的网站通过域名访问不了网站免费网站免费
  • 上海 网站建设 500强百度广告投诉电话
  • 如何做网站的教程杭州seo技术
  • 网站建设销售前景一级域名好还是二级域名好
  • 公关咨询广告投放优化师
  • 做好的网站怎么链接十大经典营销案例
  • 怎么做网站网页seo的优点和缺点
  • 做网站选什么专业成都seo优化排名公司
  • 做网站商机关键词查询工具哪个好
  • 江苏省建筑信息平台网络营销推广及优化方案
  • 聊城做网站的公司机构seo数据分析
  • 长沙制作网站设计多少钱百度网站收录查询