一、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的更多相关文章

  1. 【ASP.NET MVC 回顾】HtmlHepler应用-分页组件

    以前在ASP.NET WebForm开发中会用到许多控件,像DropDownList等.同样ASP.NET MVC中也有类似的控件-HtmlHelper. HtmlHelper和服务器控件相比,Htm ...

  2. MVC学习(四)几种分页的实现(3)

    在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...

  3. MVC学习八:MVC View提交数据

    学习编程最主要的就是数据交互,MVC中数据交互是怎么样的呢? 1.Controller向View传输数据在http://www.cnblogs.com/WarBlog/p/7127574.html中有 ...

  4. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  5. .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法

    在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...

  6. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  7. ASP.NET Core MVC/WebAPi 模型绑定探索

    前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用 ...

  8. ASP.NET Core 中文文档 第四章 MVC(3.8)视图中的依赖注入

    原文:Dependency injection into views 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) ASP.NET Core 支持在视图中使用 依赖 ...

  9. 开源:Taurus.MVC 框架

    为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...

随机推荐

  1. SQL Server(九)——事务

    事务: 保障流程的完整执行,就像银行取钱,先在你账上扣钱,然后存入别人的账上:但是从你账上扣完钱了,突然网断了,对方没有收到钱,那么此时你的钱也没了,别人的钱也没加上,事务为了防止此类情况的出现. 事 ...

  2. mysql metadata lock(一)

    想必玩过mysql的人对Waiting for table metadata lock肯定不会陌生,一般都是进行alter操作时被堵住了,导致了我们在show processlist 时,看到线程的状 ...

  3. java的finalize()函数

    在说明finalize()的用法之前要树立有关于java垃圾回收器几个观点: "对象可以不被垃圾回收" : java的垃圾回收遵循一个特点, 就是能不回收就不会回收.只要程序的内存 ...

  4. input子系统

    input子系统:      像按键.键盘.鼠标.触摸屏.游戏摇杆等设备只有输入没有输出,而且在编程实现其对应的驱动程序时会有很多重复性的代码,内核的设计者将该部分代码抽象出来,驱动工程师只需要复用该 ...

  5. 命令行向php传入参数的两种方法

    ##$argv or $argc  $argv 包含当运行于命令行下时传递给当前脚本的参数的数组.  $argv[0]  就是脚本文件名. $argc 包含当运行于命令行下时传递给当前脚本的参数的数目 ...

  6. netbeans设置语言

    netbeans的界面语言 默认是按系统语言 设的. 想要自己指定的话,加上以下参数就可以了. 中文 --locale zh:CN 英文 --locale en:US 日文 --locale ja:J ...

  7. .net 操作sftp服务器

    因为项目的需要,整理了一段C#操作sftp的方法. 依赖的第三方类库名称为:SharpSSH 1.1.1.13. 代码如下: 1: using System; 2: using System.Coll ...

  8. 虚拟机群安装多个hadoop集群时遇到的问题

    背景,原来在我的虚拟机集群(nn1,nn2)中安装的是cdh23502,后来做升级实验,升到cdh26550,因为生产中使用的环境是cdh23502,所以再次切换回去. 切换的过程中,遇到一些问题,特 ...

  9. java报表工具FineReport的公式编辑框的语法简介

    FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...

  10. 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...