QQ截图20200525192840.png

问题

  • 什么是路由
  • MVC哪个对象负责数据传递?
  • ViewData和ViewBag有什么区别和联系?
  • 强类型视图对应的基类是什么
  • 正则表达式在路由中有什么用途?

实现书店功能

  • 书记详细页
  • 书籍列表页
  • 图书分类管理

目标

  • 会自定义路由规则
  • 掌握控制器向视图传递数据的方法
  • 会使用强类型视图
  • 会使用内联方式展示视图

路由

路由负责网络中数据的传输路径

因为能够通过多种形式访问同一个页面,所以可以将所有需要展示的视图通过特定路径规则进行访问。路由路径不一定是文件具体所在位置,不仅链接形式多样化同时保证了安全性

两大好处:

  • 搜索引擎优化(SEO)
  • 提高安全性

实现流程:

  1. 用户访问URL
  2. 服务器匹配路由
  3. 将路由信息传给控制器
  4. 控制器确定需要返回哪个页面
  5. 控制器返回页面给客户

占位符

{Controller}{action}是两个约定的占位符。

  • Controller:控制器名,指在控制器文件夹中的类名
  • Action:视图名,指在控制器中具体视图方法名

*号匹配URL剩余部分。

用法为{*xxx},其中xxx代表一个包含剩余URL的占位符,程序可以根据该占位符的内容选择提供不同的数据。

设置路由时,可以使用Defaults参数规定各占位符的默认值。默认值必须按照占位符顺序提供,隔空施法不生效。

RouteDate.VAlues

  • 类型为:RouteValueDictionary
  • 使用方法和Dictionary<TKey,TValue>类似
  • RouteDate定义为视图和控制器基类的属性

简单解释,就是用以上方式访问路由数据。例如获取URL,页面跳转等。

具体用法

名称类型用途
namestring名称
urlstringURL模式
deflultsobject默认值
constraintsobject约束
namespacesstring[]命名空间
最后修改:2020 年 05 月 25 日 07 : 33 PM
如果觉得我的文章对你有用,请随意赞赏