最新要闻
- 江淮汽车(600418)6月7日主力资金净卖出7528.15万元_当前热议
- 天天滚动:新钢股份:拟向欧冶工业品进行股权投资 增资金额不超过2亿元
- 高考组图丨湖南考生有力量的表情来了 全球微动态
- 喜报:黑龙江能源职业学院在2023第三届“心上的中国”全国大学生525心理知识大赛中获佳绩 世界独家
- 库克回应Vision Pro价格昂贵:这是目前最先进的电子设备
- 全球速看:被骗好多年!《七龙珠》战力排名更新:地球人三强改写
- 乘联会:初步统计今年5月乘用车市场零售175.9万辆 新能源暴增55%
- 最贵一杯42元!茅台跨界卖咖啡 官方称门店自发行为 天天滚动
- 不砍单好价!苹果iPhone 14到手仅4949元_关注
- 我父亲目前得了胃癌晚期,失去工作能力,家里有一套房子需要还贷款
- 视焦点讯!今日黄金td行情分析(2023年6月7日)
- 防水卷材施工工艺流程及施工方案(防水卷材施工工艺) 天天讯息
- 6月6日2年期国债期货主力合约TS2309上行0.07%
- 组图|2023年海南陵水黎安国际教育创新试验区知识产权沙龙活动举行 环球微头条
- 广州软件学院外语系在太平中学举行“大学生社会实践基地”授牌仪式
- 环球最新:波音公司回应787飞机发现问题:影响近期交付
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
通讯!ASP.NET Core MVC 从入门到精通之Html辅助标签(一)
随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NET Core MVC 系统开发的人员。
【资料图】
经过前几篇文章的讲解,初步了解ASP.NET Core MVC项目创建,启动运行,以及命名约定,创建控制器,视图,模型,接收参数,传递数据ViewData,ViewBag,路由,页面布局,wwwroot和客户端库,Razor语法,EnityFrameworkCore与数据库,HttpContext,Request,Response,Session,序列化,文件上传,自动映射等内容,今天继续讲解ASP.NET Core MVC 中Html辅助标签等相关内容,仅供学习分享使用。
概述
ASP.NET Core MVC不仅支持原生的Html标签,还支持自带的Html辅助标签,而且所有的Html辅助标签都是通过IHtmlHelper的扩展方法来实现的。在大多数情况下,HTML 辅助标签仅仅是一个返回字符串的方法。通过 MVC,您可以创建您自己的辅助标签,或者直接使用内建的 HTML 辅助标签。
使用辅助标签,具有以下好处:
- 通知Html辅助标签,可以保持统一风格。
- 可以进行模型校验。
超链接
超链接在Html中是a标签,在ASP.NET Core MVC 可以通过@Html.ActionLink 或者 @Html.RouteLink实现。
ActionLink方法具有7个重载,各个参数的含义如下:
- linkText:超链接显示文本,不可以为空。
- actionName:链接的目标方法名称ActionName。
- controllerName:链接的控制器名称,可跨控制器跳转。
- routeValues:object类型的路由数据,可以接收匿名对象,如:new {id=1,name="公子小六"}。
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new {style="color:red;width=100px",@class="link"}。
- protocol:协议,如:http,https等。
- hostname:主机服务器名称。
- fragment:URL 片段名称(定位点名称)。
超链接示例:
1 @*2 点击跳转3 等价于4 *@5 @Html.ActionLink("点击跳转","Index","Student",new {id=1,name="公子小六"},new {style="color:red;width=100px",@class="link"})
注意:因为class是C#关键字,所以如果需要表示样式,需要添加@前缀
RouteLink不支持如ActionLink中指定actionName,controllerName那种,只支持指定路由名称。RouteLink具有5个重载参数,具体如下所示:
- linkText:超链接显示文本,不可以为空。
- routeName:路由名称。
- routeValues:object类型的路由数据,可以接收匿名对象,如:new {id=1,name="公子小六"}。
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new {style="color:red;width=100px",@class="link"}。
RouteLink示例:
1 2 @Html.RouteLink("点击跳转","Default",new {controller="Student",action="Index", id=1,name="公子小六"},new {style="color:red;width=100px",@class="link"})
form标签
form标签主要用于表单的提交,form辅助标签用@Html.BeginForm或者@Html.BeginRouteForm表示,且用@using包裹,用于表示form表单的起始和结束。
空的表单如下所示:
1
用Html辅助标签,如下所示:
1 @using (Html.BeginForm("Save","User",FormMethod.Post))2 {3 4 }
@Html.BeginForm重载参数如下所示:
- actionName:链接的目标方法名称ActionName。
- controllerName:链接的控制器名称,可跨控制器跳转。
- method:是form请求传递参数的方式,是一个枚举类型FormMethod,有Get和Post两种方式。
- routeValues:object类型的路由数据,可以接收匿名对象,如:new {id=1,name="公子小六"}。
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new {style="color:red;width=100px",@class="link"}。
- antiforgery:是否将身份验证令牌添加到表单中有助于防止请求伪造。
@Html.BeginRouteForm和@Html.BeginForm一致,主要是接收路由参数,不接收字符串格式的action和controller,此处不再演示。
文本框与Label
文本框通过@Html.TextBox方法实现,并且在form表单标签之内,@Html.TextBox共有5个重载,主要参数如下所示:
- expression:表达式名称,一般用于表示文本框的name。
- value:文本框中的值,可以绑定模型中的值。
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new {style="color:red;width=100px",@class="link"}。
- format:格式
Label主要用于显示只读文本。共有3个重载,主要参数如下所示:
- expression:表达式名称,一般用于表示当时显示的文本是对应于哪个控件。
- labelText:要显示的 文本内容。
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new {style="color:red;width=100px",@class="link"}。
文本框和Label示例,如下所示:
1 @Html.Label("Id","User Id",new {}); 2 @Html.TextBox("Id",Model.Id) 3
4
5 @Html.Label("Name","User Name",new {}) 6 @Html.TextBox("Name",Model.Name) 7
8
9 @Html.Label("Mail","E-Mail",new {})10 @Html.TextBox("Mail",Model.Email)
注意:以上@Html.Text三个地方都一致,但是在生成的原生Html中,前两个有data-val="true" data-val-required="the field is required"属性,在Mail中并没有这两个属性,这又是为什么呢?
密码框
密码框,主要用于输入密码,相当于input type="password",用@Html.Password辅助标签实现,主要有2个重载,主要参数有以下三个:
- expression:表达式名称,一般用于表示文本框的name。
- value:密码框中的值,可以绑定模型中的值,也可以为空
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new { placeHolder="请输入密码"}。
密码框示例:
1 @Html.Label("Pwd","Password",new {})2 @Html.Password("Pwd",null,new {placeHolder="请输入密码"})
单选框和复选框
单选框主要用于从多个选项中选择一个,各个选项之间是互斥的。单选框用@Html.RadioButton表示,主要有3个重载,各个参数说明如下:
- expression:表达式名称,一般用于表示文本框的name。
- value:单选框的值
- isChecked:是否默认选中
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new { placeHolder="请输入密码"}。
单选框示例如下所示:
1 @Html.Label("Sex","性别",new {})2 @Html.RadioButton("Sex","Male",false) 男3 @Html.RadioButton("Sex", "FeMale", false) 女
复选框主要用于多个选项中选择一个或多个,各个选项之间是兼容的。复选框用@Html.CheckBox表示,主要有3个重载,各个参数说明如下:
- expression:表达式名称,一般用于表示文本框的name。
- isChecked:是否默认选中
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象,如:new { value="pingpang" }
复选框示例,如下所示:
1 @Html.Label("Hobby","爱好",new {})2 @Html.CheckBox("Hobby",false,new { value="football" }) 足球3 @Html.CheckBox("Hobby",false,new { value="basketball" }) 篮球4 @Html.CheckBox("Hobby",false,new { value="pingpang" }) 乒乓球
文本域
文本域主要用于输入大量文本内容,一般显示为多行多列的文本输入框。共有4个重载,各个参数说明如下所示:
- expression:表达式名称,一般用于表示文本框的name。
- value:文本域内容
- rows:行数
- columns:列数
- htmlAttributes:超链接Html属性,如:style,class,width,height等,可以接收匿名对象。
文本域示例,如下所示:
1 @Html.Label("Description","简介",new {})2 @Html.TextArea("Description",null,5,20,new {})
完整示例
上述介绍了form , label,textbox,passord,radio,checkbox,textarea,actionlink等辅助标签,完整代码如下所示:
1 @model DemoCoreMVC.Models.User; 2 @* 3 点击跳转 4 等价于 5 *@ 6 @Html.ActionLink("点击跳转","Index","Student",new {id=1,name="公子小六"},new {style="color:red;width=100px",@class="link"}) 7
8 @Html.RouteLink("点击跳转","Default",new {controller="Student",action="Index", id=1,name="公子小六"},new {style="color:red;width=100px",@class="link"}) 9 @using (Html.BeginForm("Save","User",FormMethod.Post))10 {11 @Html.Label("Id","User Id",new {});12 @Html.TextBox("Id",Model.Id)13
14
15 @Html.Label("Name","User Name",new {})16 @Html.TextBox("Name",Model.Name)17
18
19 @Html.Label("Mail","E-Mail",new {})20 @Html.TextBox("Mail",Model.Email)21 22
23
24 @Html.Label("Pwd","Password",new {})25 @Html.Password("Pwd",null,new {placeHolder="请输入密码"})26
27
28 @Html.Label("Sex","性别",new {})29 @Html.RadioButton("Sex","Male",false) 男30 @Html.RadioButton("Sex", "FeMale", false) 女31
32
33 @Html.Label("Hobby","爱好",new {})34 @Html.CheckBox("Hobby",false,new { value="football" }) 足球35 @Html.CheckBox("Hobby",false,new { value="basketball" }) 篮球36 @Html.CheckBox("Hobby",false,new { value="pingpang" }) 乒乓球37
38
39 @Html.Label("Description","简介",new {})40 @Html.TextArea("Description",null,3,20,new {})41 }
与上述辅助标签对应的Html原生代码,如下所示:
1 点击跳转 2
3 点击跳转 4
对应的生成的页面,如下所示:
以上就是ASP.NET Core MVC 从入门到精通之Html辅助标签第一部分内容。
关键词:
通讯!ASP.NET Core MVC 从入门到精通之Html辅助标签(一)
江淮汽车(600418)6月7日主力资金净卖出7528.15万元_当前热议
天天滚动:新钢股份:拟向欧冶工业品进行股权投资 增资金额不超过2亿元
高考组图丨湖南考生有力量的表情来了 全球微动态
喜报:黑龙江能源职业学院在2023第三届“心上的中国”全国大学生525心理知识大赛中获佳绩 世界独家
库克回应Vision Pro价格昂贵:这是目前最先进的电子设备
全球速看:被骗好多年!《七龙珠》战力排名更新:地球人三强改写
乘联会:初步统计今年5月乘用车市场零售175.9万辆 新能源暴增55%
最贵一杯42元!茅台跨界卖咖啡 官方称门店自发行为 天天滚动
不砍单好价!苹果iPhone 14到手仅4949元_关注
我父亲目前得了胃癌晚期,失去工作能力,家里有一套房子需要还贷款
视焦点讯!今日黄金td行情分析(2023年6月7日)
防水卷材施工工艺流程及施工方案(防水卷材施工工艺) 天天讯息
6月6日2年期国债期货主力合约TS2309上行0.07%
组图|2023年海南陵水黎安国际教育创新试验区知识产权沙龙活动举行 环球微头条
广州软件学院外语系在太平中学举行“大学生社会实践基地”授牌仪式
环球最新:波音公司回应787飞机发现问题:影响近期交付
红豆股份(600400)6月7日主力资金净卖出420.99万元
@快递小哥、网约车司机 这里免费理发啦!_焦点速递
广安市10个国、省考核断面水质优良比例达到100%|焦点热讯
上海推出今年第五批次集中供应楼盘,备案均价最高8.91万元/平方米 当前看点
和林微纳:公司主要为NVIDIA供应中高端FT测试探针及相关零组件 信息
理性看待REITs市场波动 回归长期价值投资
甘肃高考志愿abcdef段什么意思?|今日视点
当前报道:今日辟谣(2023年6月7日)
外籍海员突发疾病危及生命 边检畅通“绿色通道”紧急救助
【全球新视野】NVIDIA DLSS 3游戏已达37款!AMD FSR 3你在哪儿呢?
世界快看:首次配备副驾驶娱乐屏?全新奔驰S级曝光
ID4X撞上收费站起火致4人死亡 上汽大众回应:电池安全符合标准
“看人下菜碟” 收入越高罚款越高 芬兰一司机因超速驾驶被处罚12万欧元
1TB顶配只要2279 这应该是618最香的手机 热头条
浙江:昔日“烂泥稻田”村 蹚出文旅振兴路
今日热议:黄瓜敷脸有什么好处怎么服_用黄瓜敷脸有什么好处
当前信息:港股异动 | 微创机器人-B(02252)涨超4% 河北医科大学第四医院完成32例图迈?机器人手术
苹果发布的新“眼镜”,会适合玩游戏吗?
今日欧市盘前美元兑瑞郎汇率交易策略(2023年6月7日) 世界微动态
健之佳:王雁萍女士累计质押的公司股份数为129万股
高质量发展背景下的信托业蝶变
今亮点!关于Java中多线程
受贿1992615.31元!陈克祥一审获刑三年半! 热讯
当前视点!萍乡一值班保安多次盗窃工地财物 获刑并处罚金
全球信息:重庆沙坪坝:检察建议督促行政机关及时治理危险文具
世界聚焦:物质是什么意思标准答案(物质是什么)
临汾市2023年妇幼保健机构院长例会顺利召开
丰原药业:公司没有顺铂产品
快报:网约车复苏趋势已来!T3出行发布年轻化战略,超级出行APP是亮点
名创优品早盘涨超6% 机构指公司海外市场业务持续增长-环球今头条
6月7日LME铅库存较前一日持平|聚焦
机构:高学历房产经纪人占比提升 40岁以下经纪人占比八成 观焦点
每日快看:【收评】白糖日内上涨1.48% 机构称白糖短期内外出现劈叉
天天简讯:小米14系列两大新升级曝光!消灭多年遗憾
全球快消息!OLED+彩色水墨屏二合一:联想新ThinkBook Plus Twist来了
这几个电脑硬件可以买二手:分分钟省1000元|天天热门
每日热讯!4K 160Hz+双HDMI 2.1白菜价 27寸mini LED显示器2929元
【天天速看料】2023年高考数学难不难?考生:比去年简单 轻松140分
环球快消息!虹口这所学校组建了“父亲联盟”
敦煌种业(600354)6月7日主力资金净卖出656.38万元 信息
每日热讯!天奥电子:公司晶振相关产品主要应用于国防装备、航空航天、卫星导航及通信等领域
全球实时:东莞债务逾期停息挂账后果是什么?没逾期可以停息挂账吗?
每日焦点!今日幸运数字_dnf幸运数字猜猜猜第一天数字是多少
河北省首单村集体企业综合保险落地张家口
达仁堂(600329)6月7日主力资金净买入1272.65万元
全球焦点!Webpack 插件实现 CSS 样式尺寸单位转换
NetCore服务器对接小程序直传阿里云OSS|即时看
高考首日,考生乘坐“爱心送考车”奔赴考场
订购纸箱公司_订购纸箱
中国5月外汇储备31765.1亿美元 连续第7个月增加黄金储备
债市日报:6月7日
买字笔顺怎么读_买字笔顺
一到高考就下雨 究竟是不是错觉?专家:亚洲季风导致
AI考生迎战高考语文!于丹评ChatGPT写的高考作文:毫无灵性和才情 世界快资讯
高考离谱榜上新:家长送孩子高考 竟把小女儿忘考场
《暗黑破坏神4》梅根福克斯宣传片:祝玩家在游戏中“死得其所”|当前简讯
世界热推荐:一箭26星新纪录!中科宇航力箭一号大型固体火箭发射圆满成功
15英寸MacBook Air先别买!首发价格太高 降价空间不小|环球今热点
商品期货收盘多数下跌,甲醇跌3%,纸浆、尿素、纯碱跌超2%_世界动态
环球今头条!宝宝脸上红疙瘩识别图片_宝宝脸上红疙瘩识别图
世界看热讯:链家广州二手房数据 2023
数据驱动的教育创新:大数据在学校的应用_当前资讯
CentOS7 本地光盘镜像rpm包-今日热议
快资讯:DDL语句
slack 团队及个人工作学习的好帮手
天天观天下!土耳其里拉遭遇两年来最大单日抛售
【世界独家】全国职工数字化应用技术技能大赛决赛在福州举行
宿便是什么意思_宿便的解释|全球动态
氢气还原氧化铁的化学方程式是什么_氢气还原氧化铁的化学方程式|快消息
焦点热讯:高考今日开跑,贝克汉姆拍视频用中文喊:“高考加油”
闽清高考生速看!遗忘身份证不要慌
环球实时:高考防作弊磁弹枪亮相:可狙击黑飞无人机
“奔驰小G”正式上市 搭载2.0T四缸发动机 售价142.48万起 天天微头条
为Vision Pro做准备?苹果被曝收购AR初创公司Mira 世界球精选
环球速看:尴尬到家!RX 7600 eBay一周销量为零、RTX 4060 Ti只卖出一块
真心建议:拉完便便 一定要回头看一眼!
美原油交易策略:多空消息交替影响油价,关注EIA数据
吉林高龄补贴2023发放标准:2023吉林省各地区高龄补贴标准是多少?|看点
*ST金山(600396)6月7日主力资金净买入339.20万元
一天杀两白马!长春高新大跌超9%
阿里云 Serverless 容器服务全面升级:新增组件全托管、AI 镜像秒级拉取能力
微信dat文件转图片(jpg,png,gif) 当前快报
看点:港股午评:恒指涨0.97%报19285.1点,科网股普遍收涨