.NET MVC HtmlHepler
一、HtmlHepler
1.ActionLink()
动态生成 超链接:根据路由规则,生成对应的 html 代码。
//1.注册路由信息
routes.MapRoute(
name: "Default",
url: "{controller}_aa/{action}.html/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
//2.在试图上创建 超链接
<a href="/Home/Heaven">回家</a><br />
@Html.ActionLink("回家","heaven", "Home")
//3.在浏览器看到的生成结果
<a href="/Home/Heaven">回家</a><br />
<a href="/Home/heaven">回家</a>
2.BeginForm()
//1.在视图中 创建 表单
@using (Html.BeginForm("add", "home", FormMethod.Post, new { id="form1" }))
{
}
//2.生成的html代码
<form action="/home/add.html" id="form1" method="post"> 文章标题:
</form>
补充:
//直接 在视图中 @ 调用有返回值的方法,就已经相当于是将返回值 写入 Response了
@Html.Label("ATitle")
//相当于下面代码
@{
Response.Write(Html.Label("ATitle"));
}
3.Lable()等生成 html 标签方法
注:所有的方法 都默认 去 视图的 Model 属性所储存的对象 中 查找匹配属性
//1.为实体类 添加 特性 DisplayName
public partial class BlogArticle
{
[DisplayName("文章标题")]
public string ATitle { get; set; }
}
//2.在Action方法中,为视图 的 Model 设置值
public ActionResult Add()
{
return View(new Models.BlogArticle() { ATitle="哇哈哈哈~~!" });
}
//3.在视图中,通过 html的帮助方法,生成 html 标签,同时指定,要读取的 属性名
@Html.Label("Atitle")
//4.生成对应的 html标签,并自动读取了 对应属性 的 DisplayName 里的文本。
<label for="Atitle">文章标题</label>
4.强类型的Html标签方法
强类型方法,直接 通过 lambda表达式,去试图的 Model属性对象中 查找对应的属性数据
4.1普通强类型方法(通过不同方法生成不同html标签)
//1.视图上调用方法
@Html.TextBoxFor(a=> a.ATitle)
//2.生成的html代码
<input class="text-box single-line" id="ATitle" name="ATitle" type="text" value="哇哈哈哈~~!"/>
4.2超强强类型方法(通过 属性的 DataType特性生成html标签)
//1.在实体类中 为 AContent 属性设置 DataType特性,指定为 多行文本框
public partial class BlogArticle
{
[DataType(System.ComponentModel.DataAnnotations.DataType.MultilineText)]
public string AContent { get; set; }
}
//2.视图上 自动根据model对象里属性保存的 实体类 属性 的 [DataType] 特性里指定的类型生成对应的html标签
@Html.EditorFor(a=> a.ATitle)
//3.生成html代码
<textarea class="text-box multi-line" id="AContent" name="AContent"></textarea>
.NET MVC HtmlHepler的更多相关文章
- 【ASP.NET MVC 回顾】HtmlHepler应用-分页组件
		
以前在ASP.NET WebForm开发中会用到许多控件,像DropDownList等.同样ASP.NET MVC中也有类似的控件-HtmlHelper. HtmlHelper和服务器控件相比,Htm ...
 - MVC学习(四)几种分页的实现(3)
		
在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...
 - MVC学习八:MVC View提交数据
		
学习编程最主要的就是数据交互,MVC中数据交互是怎么样的呢? 1.Controller向View传输数据在http://www.cnblogs.com/WarBlog/p/7127574.html中有 ...
 - Asp.Net Mvc 使用WebUploader 多图片上传
		
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...
 - .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法
		
在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...
 - ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
		
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
 - ASP.NET Core MVC/WebAPi 模型绑定探索
		
前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用 ...
 - ASP.NET Core 中文文档 第四章 MVC(3.8)视图中的依赖注入
		
原文:Dependency injection into views 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) ASP.NET Core 支持在视图中使用 依赖 ...
 - 开源:Taurus.MVC 框架
		
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
 
随机推荐
- JavaScript Patterns 5.4 Module Pattern
			
MYAPP.namespace('MYAPP.utilities.array'); MYAPP.utilities.array = (function () { // dependencies var ...
 - Linux下防火墙开启相关端口及查看已开启端口
			
最近利用Apache Mina实现了一个http服务,发布到linux下发现无法访问,通过HttpClient来发送http请求时,报如下错误: Exception in thread "m ...
 - linux screen 命令详解[转]
			
一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...
 - 问题解决——VC 断点 无效 一个可能情况?
			
=================================版权声明================================= 版权声明:本文为博主原创文章 未经许可不得转载 请通过右 ...
 - Java设计模式学习笔记(观察者模式)
			
观察者模式说起来很简单,就是一个订报纸的模式.但是实际上这部分我觉得还是很有意思的,<Head First设计模式>里还有一些还没看完,也是因为理解的不够深吧. 观察者模式会包含两个组件: ...
 - java JedisUtils工具类
			
package com.sh.xrsite.common.utils; import java.util.List; import java.util.Map; import java.util.Se ...
 - 知方可补不足~sqlserver中对xml类型字段的操作
			
回到目录 在sqlserver中有很多种数据类型,而XML数据类型是比较新奇怪的一种格式,我们平常接触的可能比较少,用的也少,而在某些场合,使用XML类型可能会使我们的开发变简单,下面就是一种情况: ...
 - C#设计模式(21)——责任链模式
			
一.引言 在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可能就需要请求技术总监的批准,所 ...
 - 浴室随想——RogueLike随想
			
好玩的RogueLike 0 不同的追求 1 从追求中寻找商机 2 更的直接方法 3 我的追求 4 我的方法 5 好玩的RogueLike RogueLike游戏很好玩,因为你永远不知道接下来会发生什 ...
 - android viewpager 图片翻页例子
			
使用ViewPager这个类可以轻松实现多个页面的滑动功能 viewpager默认在工具界面上是找不到的,需求添加android-support-v4.jar包: 如果没有找到,需要打开Android ...