6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

HTML Helpers是用来创建HTML标签进而创建HTML控件的。HTML Helper仅仅是一个返回HTML字符串的方法。ASP.NET MVC 中有三种HTML Helpers

1.Inline HTML Helper(内联HTML Helper):主要是通过使用Razor语法中的@helper标记来创建。内联HTML Helper仅仅只能在同一个视图中,被重复使用。如果想要在所有的视图中都能使用,有办法可以解决。待会会介绍。

2.Built-In-HTML Helpers(内置的HTML Helpers):这类的HTML Helper是HtmlHelper类的扩展方法,进一步分为3类:

    2.1 标准HTML Helper【Standard HTML Helpers】:用来创建最常用得HTML标签。

    2.2 强类型的HTML Helpers【Strongly Typed HTML Helpers】:这种是HTML通过Model类的属性生成,使用Lambda表达式来生成HTML。

  2.3 模板化的HTML Helpers 【Templated HTML Helpers】:这种helper生成的HTML取决于Model类的属性。

3.自定义的HTML helpers【Custom HTML Helpers】:你可以通过使用HtmlHelper扩展方法,或者在工具类中使用静态方法来创建自定义的helper 方法。

 

1.先来看看内联的HTML Helper

创建项目HTMLHelpersWithMVC,同时新建一个Home控制器,和Index视图:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 视图页面:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

运行一下:【效果图】

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 

 现在假如,我还有一个Test页面,也要显示这个,怎么办呢?我们直接在Test页面写一下看看:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 看,报错了噢,内联方法只能在声明的视图页面使用噢,怎么办呢?我们可以这样做:

右键项目创建一个App_Code文件夹:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 

 在App_Code文件夹下,创建一个分布视图:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

 

然后,把刚才在Home控制器Index页面的内联Html Helper方法声明全部弄过来:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

然后运行项目:看:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

咋回事还是报错了,现在Index页面也报错了,哪里出问题了???

我们这样改:把App_Code文件夹下的视图页面,属性改成嵌入的资源和如果较新则复制

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

然后视图页面修改如下:

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

然后接着运行看看两个页面的效果:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypdgx.html