实体字段属性

再来看看我们的实体类

说明,上面的代码需要引用:using System.ComponentModel.DataAnnotations;

Display属性标志这个字段在页面上显示的时候,需要显示什么名字;

我们在上一篇文章中用到的:

这里就会显示Display属性指定的名字;

DataType属性标志这个字段是什么类型的;

上一章中我们说到的,数据类型的验证工作,就是依据这里标志的数据类型来完成的

比如你可以增加如下数据约束

如果你想格式化输出的内容,你可以使用如下的属性注释

你可以在同一行代码中标记多个属性,如下:

更多说明文档,可以查阅:https://docs.microsoft.com/zh-cn/aspnet/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-6

链接标签

在上一篇文章中我们简单说了一下链接标签,再来看第一章中提到的这个场景:

asp-page和asp-route-id两个属性共同决定了最终编译出来的链接地址;

以前我们可能要拼字符串来构造href属性,现在不用了,可以分开写,代码更优雅;

上面的代码,编译后生成的href属性的值是这样的:

http://localhost:5000/Movies/Details?id=2

现在我们分别打开Edit.cshtml、Details.cshtml、Delete.cshtml

把页面中的第一个命令:@page,修改为:@page "{id:int}"

重新编译运行,发现上面的链接变成了:

http://localhost:5000/Movies/Details/1

看到这里你会说“呦~”吗?

如果这个时候你请求这个地址:

http://localhost:5000/Movies/Details

并没有传入ID的值,那么服务器会返回404,

如果你的设计是希望ID是一个可选的传入参数,那么你可以把page指令修改成:

这样就好啦!

如果你想让页面接收一个字符串,可以把这个“路由模版”写成如下这个样子:

并发数据异常

当一个用户删除了一个实体,另一个用户同时又要更新这个实体的话

第二个用户的请求就会抛出并发数据异常(这里姑且称作并发,微软官网就是这么说的),来看代码:

上面代码中DbUpdateConcurrencyException就是专门针对这种异常定义的异常类;

NotFound方法将返回404异常

文件上传及读取

如果你想上传一个文件,可以撰写如下razor page的代码(只提供一部分表单域)

这个表单域对应的实体如下

我们只要关注第二个字段即可,UploadPublicSchedule是一个IFormFile类型的字段;

当表单提交后,ASP.NET CORE 也会把文件流绑定到这个字段上;

如果上传的是一个文本文件,那么我们看看怎么直接读取这个文本文件;

调用上面方法的代码如下:

其中ModelState是PageModel特有的属性

在本示例中,用于给页面添加错误信息~

asp怎么循环增加字段和字段对应的值_ASP.NET Core教程「三」实体字段属性相关推荐

  1. asp怎么循环增加字段和字段对应的值_索引该怎么创建?

    1.2.索引 B+Tree 结构的特性: ①.B+Tree 只有叶子节点会存储真实的数据,非叶子节点只会存储索引字段值: ②.B+Tree的叶子节点之间使用 双向链表 链接,所以更加适合范围查询和排序 ...

  2. asp怎么循环增加字段和字段对应的值_MySQL数据类型和字段属性原理与用法详解

    本文实例讲述了mysql数据类型和字段属性.分享给大家供大家参考,具体如下: 本文内容: 数据类型 数值类型 整数型 浮点型 定点型 日期时间类型 字符串类型 补充: 显示宽度与zerofll 记录长 ...

  3. automapper自动创建映射_ASP.NET Core教程:ASP.NET Core使用AutoMapper

    一.前言 在实际的项目开发过程中,我们使用各种ORM框架可以使我们快捷的获取到数据,并且可以将获取到的数据绑定到对应的List中,然后页面或者接口直接显示List中的数据.但是我们最终想要显示在视图或 ...

  4. MySQL - SQL语句增加字段/修改字段/修改类型/修改默认值

    1.应用场景 有时[比如在Linux服务器下]需要使用SQL语句直接对数据表进行新建/修改表结构, 填充/更新数据等. 或借助数据库管理工具执行SQL,但是这种方法,比较适合做微小的操作- 好处: 使 ...

  5. java 循环实体类 获取实体字段和字段对应的value

    有的时候实体字段比较多,需要循环获取实体的字段名和字段内容,实现方法通过Field反射获取类的属性. 实现方式如下: 需要注意的是一定要设置setAccessible为ture public clas ...

  6. oracle 增加不了新列,【云和恩墨大讲堂】谈Oracle表新增字段的影响

    编辑手记:本文来自上周四云和恩墨大讲堂课程的整理.作者通过锁.索引.约束等的情况验证了表的新增字段对不同版本的Oracle数据库产生的影响. 作者简介刘晨,网名bisal,Oracle 10g/11g ...

  7. PHP+MySql获取自动增长字段的新添加记录ID值

    PHP+MySql获取新添加记录的ID值 1.假设字段名称为recordID 2.字段属性须设为:auto_increment 3.添加数据后使用 $newID = mysql_insert_id() ...

  8. SpringBoot 配置 generator代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)

    保姆级教程,逻辑删除及字段自动填充设置,特别要说明的是本次用的是MySQL数据库,如果使用Oracle数据库是,数据库配置需要改变,数据库表一定要大写,否则无法生成代码. 数据库表 CREATE TA ...

  9. 程序解析excel中的图片_产品日志丨支持导入Excel中的图片amp;批量修改后期实体字段...

    本次安捷秀又迎来了一个大版本更新,除了大家呼声很高的「实体模块导入 Excel 」外,还有「批量编辑实体」,「支持右击修改」以及针对海外用户的「全页面支持英文」等功能的新增与优化,一起来看看吧. 导入 ...

最新文章

  1. 第十八课.支持向量机
  2. 银盛通信与深圳邮政达成合作,全城线下代办点突破1000家
  3. jquery Fancybox插件的应用
  4. java开发资源分享(视频,源码,项目)
  5. c语言中数组名a和a详细介绍
  6. jmeter聚合报告如何添加单位_JMeter聚合报告(Aggregate Report)理解
  7. 计算机音乐除了春天爱情和樱花,High4IU《除了春天爱情和樱花》新歌试听
  8. php js urlencode,JavaScript版本的UrlEncode和UrlDecode函数实现
  9. 科幻电影系列-计算机技术
  10. 使用js命名空间进行模块式开发
  11. python交互界面用图片当背景_wxPython实现窗口用图片做背景
  12. 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)
  13. 学习web前端要了解的HTML5知识有哪些?
  14. treeview 控件使用和数据绑定
  15. Mybatis Generator的使用 1
  16. ubuntu 出错 /etc/sudoers is world writable
  17. [OpenAirInterface实战-17] :OAI 软件无线电USRP N300/N310硬件详解
  18. 大数据在互联网行业的应用
  19. casio计算机隐藏游戏fx-82ES,CASIOlowbar;fx-82ES计算器隐藏功能
  20. 隆重公有化财团成员交恶 中绒遭深交所询问

热门文章

  1. javascript中的闭包这一篇就够了
  2. 09机器学习实战之多元线性回归
  3. Filter 设计模式编码实践
  4. Java NIO(十五) Path 的用法
  5. 想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发...
  6. 如何用css让一个容器水平垂直居中
  7. 《调色师手册:电影和视频调色专业技法(第2版)》——调色师该何时介入?...
  8. c++,不能声明为虚函数的函数
  9. GRUB启动过程分析 GRUB 引导程序配置
  10. IT从业人员必看的10个论坛