创建自定义 HTML 帮助程序 (VB)

10/07/2008

本文内容

本教程的目标是演示如何创建自定义 HTML 帮助器,您可以在 MVC 视图中使用。 通过使用 HTML 帮助器,可以减少创建标准 HTML 页必须执行的繁琐键入 HTML 标记的数量。

本教程的目标是演示如何创建自定义 HTML 帮助器,您可以在 MVC 视图中使用。 通过使用 HTML 帮助器,可以减少创建标准 HTML 页必须执行的繁琐键入 HTML 标记的数量。

在本教程的第一部分中,我描述了 ASP.NET MVC 框架中包含的一些现有 HTML 帮助器。 接下来,我描述了创建自定义 HTML 帮助器的两种方法:我解释如何通过创建共享方法和创建扩展方法来创建自定义 HTML 帮助程序。

了解 HTML 帮助器

HTML 帮助程序只是返回字符串的方法。 字符串可以表示所需的任何类型的内容。 例如,可以使用 HTML 帮助器呈现标准 HTML 标记(如 HTML 和标记)。 您还可以使用 HTML 帮助器呈现更复杂的内容,如选项卡条或数据库数据的 HTML 表。

mVC 框架ASP.NET包括以下一组标准 HTML 帮助器(这不是完整的列表):

Html.操作链接()

Html.开始形式()

Html.复选框()

Html.下拉列表()

Html.结束形式()

Html.隐藏()

Html.列表框()

Html.密码()

Html.收音机按钮()

Html.文本区域()

Html.TextBox()

例如,请考虑清单 1 中的窗体。 此表单是在两个标准 HTML 帮助器的帮助下呈现的(参见图 1)。 此窗体使用Html.BeginForm()和Html.TextBox()帮助器方法。

图 01: 使用 HTML 帮助器呈现的页面 (单击以查看全尺寸图像)

清单1 |Views\Home\Index.aspx

Index

First Name:

Last Name:

帮助Html.BeginForm()器方法用于创建打开和关闭 HTML

标记。 请注意,该方法Html.BeginForm()是在 using 语句中调用的。 using 语句可确保标记在using 块的末尾关闭。

如果您愿意,可以调用 Html.EndForm() 帮助器方法来关闭

标记,而不是创建 using 块。 使用任何方法创建您最直观的开始和结束标记。

在Html.TextBox()清单1中使用帮助器方法来呈现 HTML标记。 如果在浏览器中选择视图源,则会在清单 2 中看到 HTML 源。 请注意,源包含标准 HTML 标记。

Important

请注意 -HTMLHtml.TextBox()帮助程序使用标记而不是标记呈现。 如果未包含等号,则不会向浏览器呈现任何内容。

mVC ASP.NET框架包含一小组帮助器。 最有可能的是,您需要使用自定义 HTML 帮助程序扩展 MVC 框架。 在本教程的其余部分中,您将学习创建自定义 HTML 帮助器的两种方法。

清单2 |Index.aspx Source

Index

First Name:

Last Name:

使用共享方法创建 HTML 帮助器

创建新 HTML 帮助程序的最简单方法是创建返回字符串的共享方法。 例如,假设您决定创建一个呈现 HTML标记的新 HTML 帮助程序。 可以使用清单 2 中的类来呈现 。

清单2 |Helpers\LabelHelper.vb

Public Class LabelHelper

Public Shared Function Label(ByVal target As String, ByVal text As String) As String

Return String.Format("{1}", target, text)

End Function

End Class

清单2中的类没有什么特别之处。 该方法Label()只需返回一个字符串。

清单3中修改后的索引视图使用LabelHelper来呈现 HTML标记。 请注意,该视图包含导入应用程序 1.Helpers 命名空间的指令。

清单2 |Views\Home\Index2.aspx

Index2

使用扩展方法创建 HTML 帮助程序

如果要创建与 ASP.NET mVC 框架中包含的标准 HTML 帮助程序相同的 HTML 帮助程序,则需要创建扩展方法。 扩展方法使您能够向现有类添加新方法。 创建 HTML 帮助器方法时,向视图的 HtmlHtmlHelper属性表示的类添加新方法。

清单3中的 Visual Basic 模块向类添加了Label()名为的HtmlHelper扩展方法。 关于此模块,您需要注意一些事项。 首先,请注意模块用属性修饰。 为了使用此属性,必须导入System.Runtime.CompilerServices命名空间

其次,请注意,Label()方法的第一个参数表示类。 HtmlHelper 扩展方法的第一个参数指示扩展方法扩展的类。

清单3 |Helpers\LabelExtensions.vb

Imports System.Runtime.CompilerServices

Public Module LabelExtensions

_

Public Function Label(ByVal helper As HtmlHelper, ByVal target As String, ByVal text As String) As String

Return String.Format(" {1}", target, text)

End Function

End Module

创建扩展方法并成功构建应用程序后,扩展方法与类的所有其他方法一样显示在 Visual Studio Intellisense 中(参见图 2)。 唯一的区别是扩展方法旁边出现一个特殊符号(向下箭头的图标)。

图 02: 使用 Html.label() 扩展方法 (单击以查看全尺寸图像)

清单4中修改后的索引视图使用 Html.label() 扩展方法呈现其所有标记。

清单4 |Views\Home\Index3.aspx

Index3

总结

在本教程中,您学习了创建自定义 HTML 帮助器的两种方法。 首先,您学习了如何通过创建返回字符串Label()的共享方法来创建自定义 HTML 帮助程序。 接下来,您学习了如何通过在Label()``HtmlHelper类上创建扩展方法来创建自定义 HTML 帮助器方法。

在本教程中,我重点讨论了构建一个非常简单的 HTML 帮助器方法。 意识到 HTML 帮助程序可能非常复杂。 可以生成 HTML 帮助程序,这些帮助程序呈现丰富的内容,如树视图、菜单或数据库数据表。

vb怎么添加html帮助文件,创建自定义 HTML 帮助器 (VB) | Microsoft Docs相关推荐

  1. Aurelia历险记:创建自定义PDF查看器

    本文由Vildan Softic进行同行评审. 感谢所有SitePoint的同行评审人员使SitePoint内容达到最佳状态! 在Web应用程序中处理PDF文件一直很麻烦. 如果幸运的话,您的用户只需 ...

  2. html 必应网搜索,教程:创建自定义搜索网页 - 必应自定义搜索 - Azure Cognitive Services | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 教程:构建自定义搜索网 ...

  3. polymer ajax_使用Polymer创建自定义音频播放器元素

    polymer ajax 什么是聚合物? (What is Polymer?) Polymer is a shim for a new web standard called Web Componen ...

  4. mysql2005备份_创建完整数据库备份 - SQL Server | Microsoft Docs

    完整数据库备份Create a Full Database Backup 09/12/2019 本文内容 适用于:Applies to: SQL ServerSQL Server(所有支持的版本)SQ ...

  5. linux添加cmd命令行参数,Windows 终端命令行参数 | Microsoft Docs

    使用 Windows 终端的命令行参数Using command-line arguments for Windows Terminal 06/18/2020 本文内容 可以使用 wt.exe 从命令 ...

  6. linux .net 控制台应用程序,使用 Visual Studio Code 创建 .NET 控制台应用程序 - .NET | Microsoft Docs...

    教程:使用 Visual Studio Code 创建 .NET 控制台应用程序Tutorial: Create a .NET console application using Visual Stu ...

  7. azure linux 配置端口,快速入门 - 在 Azure 门户中创建 Linux VM - Azure Virtual Machines | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 快速入门:在 Azur ...

  8. 文件共享服务器onedrive,访问共享文件和文件夹 - OneDrive API - OneDrive dev center | Microsoft Docs...

    使用远程项目访问共享文件和文件夹 09/10/2017 本文内容 OneDrive 支持将共享文件夹添加到驱动器中,以便可以更轻松地从共享文件夹访问内容. 将共享文件夹添加到 OneDrive 后,此 ...

  9. Qt Creator创建自定义效果和材质

    Qt Creator创建自定义效果和材质 创建自定义效果和材质 创建自定义效果 创建自定义材料 创建着色器文件 创建自定义效果和材质 " Qt Quick 3D效果"和" ...

最新文章

  1. .ajax done参数,困惑jQuery .ajax .done()函数
  2. 深圳内推 | 腾讯AI Lab自然语言处理中心招聘NLP研究型实习生
  3. linux ubuntu 软件安装的三种方式
  4. 光耦驱动单向可控硅_华越国际一文带路:可控硅触发设计技巧
  5. 【刷题】BZOJ 4195 [Noi2015]程序自动分析
  6. 2021年美食类短视频及直播营销趋势洞察
  7. 单实例activemq 数据测试
  8. mysql使用联合唯一索引会影响查询效率吗_想进大厂,这些Mysql索引底层知识你是必须知道的。...
  9. c语言数组题库答案,C语言数组百道练习题含答案.pdf
  10. 51单片机12864的使用方法
  11. VS2010 .net4.0 登录QQ 获取QQ空间日志 右键选中直接打开日志 免积分 源码下载
  12. 文件后缀对应文件类型表
  13. user guide for Coverity Wizard
  14. android 获取全国地址,如何在android中获取国家代码(调用代码)?
  15. SPA 项目 之 后台接口文档
  16. Android 关于极光推送退出APP时清空通知的问题
  17. 明明努力了却学不好Java_为什么我这么努力,还是得不到自己想要的结果???...
  18. 免费电子书下载网站,不来白嫖一波
  19. NOIP2017+停课总结
  20. 十岁不愁、二十不悔、三十而立、四十不惑、五十知天命、六十耳顺、七十古来稀...

热门文章

  1. U盘数据丢失怎么恢复?优盘数据恢复,看这4个方法!
  2. 与hamachi齐名的Remobo已于2014年7月29日暂停服务
  3. Android定位与百度位置应用
  4. 切换namenode报错:Unable to fence NameNode at master
  5. linux新建用户命令行无颜色问题
  6. 用 VB 打开任意盘(硬盘/U盘/光盘)的文件.
  7. 高通ais cam.xml配置
  8. Python+Flask实现全国、全球疫情大数据可视化(二):网页页面布局+echarts可视化中国地图、世界地图、柱状图和折线图
  9. 修改小米系统升级服务器,MIUI开发版系统更新策略大改 这些用户将无缘
  10. arm嵌入式培训学校哪里好?看看有哪些arm学习建议