一、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. BIEE建模参考规范

    BIEE建模参考规范 注:本文基于网上盛传的“BIEE建模黄金法则”,并做了更为细致的讲解,以及修改. 物理层 1.  在可能的情况下,配置你的连接池使用本地驱动来连接物理数据库.例如,使用OCI而不 ...

  2. Zero to One读后感

    Zero to One是一本不错的书,无论你是在职场还是在创业都应该看看先.书中没有告诉你任何的职业技巧,但是很明确的告诉了你应该有的思考方式,告诉你人与机器的关系,告诉成功企业固有的模式以及你为什么 ...

  3. EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS的删除创建

    在最近的一次优化过程中发现了ORACLE 10g中一个作业EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS执行相当频繁,其实以前也看到过,只是没有做过多的了解和关注. ...

  4. 使用 xtrabackup 进行MySQL数据库物理备份

    0. xtrabackup的功能 能实现的功能: 非阻塞备份innodb等事务引擎数据库. 备份myisam表会阻塞(需要锁). 支持全备.增量备份.压缩备份. 快速增量备份(xtradb,原理类似于 ...

  5. SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

    前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...

  6. tomcat黑/白名单设置

    vim $tomcat_home/conf/server.xml(可以单个IP或者多个ip,多个ip用|分隔,支持正则) <Context path=" reloadable=&quo ...

  7. springmvc+log4j操作日志记录,详细配置

    没有接触过的,先了解一下:log4j教程 部分内容来:log4j教程 感谢! 需要导入包: log包:log4j-12.17.jar 第一步:web.xml配置 <!-- log4j配置,文件路 ...

  8. Windows下常用软件工具的命令

    Linux上主要操作是命令,懂一点linux知识的都知道,其实windows下边很多工具也是可以用命令来操作打开的,这样会提高效率,节省很多的时间.下边就记录一下常用的命令. 一.常用命令 1.远程桌 ...

  9. android 关于appcompat v7出错问题与解决

    1.appcompat_v7:应用兼容包,V7说的是版本7,即android2.1,这个兼容包支持2.1版本以上系统2.最近谷歌官方将兼容jar包与某些资源文件单独拿出来建立了一个android工程, ...

  10. Vim命令大全

    1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于 ...