首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从MY OWN HtmlHelper中访问HtmlHelper方法?

要从自己的HtmlHelper中访问HtmlHelper方法,您可以按照以下步骤操作:

  1. 首先,确保您已经在项目中引用了System.Web.Mvc命名空间。
代码语言:csharp
复制
using System.Web.Mvc;
  1. 创建一个自定义的HtmlHelper类,该类继承自System.Web.Mvc.HtmlHelper。
代码语言:csharp
复制
public class MyHtmlHelper : HtmlHelper
{
    public MyHtmlHelper(ViewContext viewContext, IViewDataContainer viewDataContainer)
        : base(viewContext, viewDataContainer)
    {
    }

    public MvcHtmlString MyCustomMethod()
    {
        // 在这里编写您的自定义方法代码
        return MvcHtmlString.Create("My Custom Method");
    }
}
  1. 在视图中,您可以使用自定义的HtmlHelper类来访问MyCustomMethod方法。
代码语言:csharp
复制
@using MyNamespace.HtmlHelpers

@model MyModel

@{
    MyHtmlHelper myHtmlHelper = new MyHtmlHelper(Html.ViewContext, Html.ViewDataContainer);
}

<!DOCTYPE html>
<html>
<head>
   <title>My View</title>
</head>
<body>
    @myHtmlHelper.MyCustomMethod()
</body>
</html>

在这个例子中,我们创建了一个名为MyHtmlHelper的自定义HtmlHelper类,并在其中添加了一个名为MyCustomMethod的方法。然后,在视图中,我们使用MyHtmlHelper类的实例来访问MyCustomMethod方法。这样,您就可以在自己的HtmlHelper中访问自定义的HtmlHelper方法了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC路由扩展:链接和URL的生成

本质上讲,HtmlHelper/UrlHelper实现的对URL的生成最终还是依赖于上面所说的GetVirtualPathData方法。 目录 一、UrlHelper V.S....在System.Web.Mvc.Html.LinkExtensions,我们为HtmlHelper定义了如下所示的一系列ActionLink方法重载。...在页面加载事件处理方法,我们根据手工创建的HttpRequest和HttpResponse创建一个HttpContext对象,并进一步创建HttpContextWrapper对象。...当我们通过浏览器访问该Web页面的时候,我们会得到如下图所示3个URL。 ? 四、UrlHelper.RouteUrl V.S....,它还是利用整个路由表进行URL的生成,如果显示指定了路由对象的注册名称,那么就会路由表获取相应的路由对象,如果该路由对象与指定的变量列表不匹配,则返回Null;否则返回生成的URL。

1.7K70

.NETASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(三)

阅读目录: 7.HtmlHelperHtmlHelper的ViewModel的类型推断 8.控制ViewModel的某个属性的呈现(使用PartialView部分视图细粒度控制ViewModel...View引入的强类型ViewModel生成HTMLDom结构的核心功能都被封装在以HtmlHelper为首的对象模型,包括HtmlHelper泛型类型,它直接派生自HtmlHelper基类,这两个类型的功能都是围绕着如何生成前端所需要的...,在View引入的类型定义: @model  MvcApplication4.Models.Customer 正是这里泛型类型的类型参数,所以围绕着HtmlHelper的扩展方法才变成灵活的泛型的代码生成接口...画红线的部分是View所使用的强类型HtmlHelper对象,类型参数是我们在View通过@model的方式定义的;画绿色的部分也是强类型的EditorFor方法,同样该泛型方法已经被类型推断过了...View引入的强类型参数的HtmlHelper,这样任何围绕HtmlHelper进行扩展的扩展方法都会最终使用到类型ViewModel

97480

ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

Hello,I am HtmlHelper!") %>   那么,为什么可以在页面调用Html.XXX方法呢?...这些扩展添加了用于创建窗体、呈现 HTML 控件、呈现分部视图、执行输入验证等功能的帮助器方法。那么,有关如何自定义扩展方法请参阅本文第三部分,这里先卖个关子,暂不介绍。 ?...但是在第二版,我们的路由规则也会变成了{controller}-{action}-{id},那么我们刚刚为超链接所设置的href便都无法正常访问了。...因为HtmlHelper服务器端自动帮你生成a标签,因此所生成的href会遵循目前的路由规则,也就帮我们屏蔽了变化,提高了工作效率。...CheckBox();   (3)this关键字   可以方法名定义中看出,第一个参数都是this HtmlHelper htmlHelper,代表对HtmlHelper类的扩展; 3.3 自定义扩展方法

67020

ASP.NET MVC HtmlHelper

ASP.NET MVC之 HtmlHelper 在ASP.NET MVC项目的开发,一般会默认使用Razor视图来进行View层的编写,从而实现高效率的C#/HTML代码的混写。...然而在实际的编写这样仍旧不太方便,于是这里便可以用到VS为我们默认集成好的HtmlHelper。...扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。我们可以回到第一部分对HtmlHelper的扩展类-InputExtension类上,它是对于HtmlHelper的扩展。...(); this关键字  可以方法名定义中看出,第一个参数都是this HtmlHelper htmlHelper,代表对HtmlHelper类的扩展; 自定义扩展方法   1.在Models文件夹下新建一个类...,于是我们将命名空间与HtmlHelper类所在的命名空间保持一致。   4.在页面我们就可以使用我们自己写的扩展方法了 @Html.MyExtHtmlLabel("EdisonChou")

1.8K30

通过对HtmlHelper扩展简化“列表控件”的绑定

ASP.NET MVC通过对HtmlHelperHtmlHelper的扩展实现了对不同类型的元素的绑定,它们以扩展方法的形式定义在SelectExtensions。...而作为Code存储,我们采用了静态字段的形式,如下所示的代码可以看出我们实际定义了三类Code,即Gender、MaritalStatus和Country,分别表示性别、婚姻状况和国籍。...的扩展方法实现基于“列表类别”的绑定 现在我们来定义针对HtmlHelper的扩展方法通过从CodeManager获取的Code列表来进行“列表控件”的绑定。...我们为HtmlHelper编写了如下4个扩展方法用于针对DropDownList和ListBox的绑定,在参数我们无须提供SelectListItem列表,而只需要提供Code和类别即可。...在创建的HomeController,我们将初始化Person对象的呈现定义在Index操作

1.3K60

Model验证系统运行机制是如何实现的?

以及相关的提供机制,接下来我们来讨论一下在这个以ModelValidator为核心的Model验证系统,通过Model绑定得到的数据对象的验证是如何实现的。...] 目录 一、ModelState谈起 二、实例演示:验证Model绑定过程对ModelError的设置 三、验证消息的呈现     HtmlHelper.ValidationMessage...方法的呈现 四、 Model绑定与Model验证 一、ModelState谈起 我们知道Controller对象的ViewData包含有个元素类型为ModelState的集合,用于表示...在该View我们调用HtmlHelper的ValidationMessage方法所有的验证消息呈现出来。...错误消息在EditForModel方法的呈现 在一个强类型View调用HtmlHelper的扩展方法EditorForModel将整个Model对象以编辑模式呈现出来时,如果某个属性对应的

1.8K110

ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC

名称可以看出来,这四个特性分别代表了目标元素呈现在UI界面上的形式,即对应着传统ASP.NET Web应用的四种类型的列表控件:RadioButtonList、DropdownList、ListBox...在该方法,我们创建了一个具体的Employee对象并对它的所有属性进行了相应设置,最终将该对象呈现在默认的View。...的四个扩展方法实现了针对这四种列表控件的UI呈现。...组成RadioButtonList的单个RadioButton最终是调用HtmlHelper现有的扩展方法RadioButton生成的,而CheckBoxList的CheckBox则是通过调用我们自定义的.../HtmlHelper相应模板方法的时候就会按照这些模板对目标元素进行呈现。

4.8K60

HtmlHelper添加一个RadioButtonList扩展方法

在前面一篇文章,我们通过对HtmlHelper的扩展简化了对DropDownList(Single-Line-Select)和ListBox(Multiple-Line-Select)的绑定,以及对作为数据源的列表进行单独维护...现在我们为HtmlHelper/HtmlHelper添加一个RadioButtonList/RadioButtonListFor扩展方法实现一组RadioButton的绑定。...[源代码从这里下载] 一、RadioButtonListFor的使用 我们先来显示一下扩展的RadioButtonListFor的方法的用法。...二、维护选项列表的组件CodeManager 由于在一个应用,作为绑定到“列表控件”上的选项列表可能会有很多,将它们进行单独地维护是一个理想的选择。...GetCodes方法用于返回指定“类别”的列表选项。

908110

在ASP.NET MVC中使用“RadioButtonList”和“CheckBoxList”

在《为HtmlHelper添加一个RadioButtonList扩展方法我通过对HtmlHelperHtmlHelper的扩展使我们可以采用”RadioButtonList”的方式对一组类型为...二、实例演示 我们还是以《为HtmlHelper添加一个RadioButtonList扩展方法》例子来演示RadioButtonList和CheckBoxList用法。...codeCollection.Add(code); 33: } 34: return codeCollection; 35: } 36: } 在默认的HomeController,...我们定义了如下两个Index方法,它们分别用于测试出栈数据(Model->UI)入栈数据(UI-〉Model)的绑定。...三、两组扩展方法具体实现 现在我们简单地来看看RadioButtonList/RadioButtonListFor和CheckBoxList/CheckBoxListFor这两组扩展方法的实现。

1.2K80

ASP.NET MVC以ValueProvider为核心的值提供系统: DictionaryValueProvider

该Controller类型定义了两个Action方法,默认的Index方法会将默认的View呈现出来,DisplayPostedFiles方法则通过创建的HttpFileCollectionValueProvider...View针对某个子Action方法的调用通过如下所示的HtmlHelper的扩展方法Action来实现。...当我们调用GetValue方法是,只需要根据指定的Key该字典对象返回相应的ValueProviderResult即可。...如下所示的代码反映Action方法Index对应的View的定义,在这里我们直接调用HtmlHelper的扩展方法Action执行定义在HomeController的Action方法DisplayRouteData...我们可以从中看到针对于Controller和Action名称的路由数据和调用HtmlHelper扩展方法Action指定的数据数据均在作为ChildActionValueProvider数据源的字典对象

1.7K80

流畅地HtmlHelper-Asp.Net MVC

今天抛开 Fluent NHibernate 不谈,我们来谈谈 Asp.Net MVC ,在MVC的View,我们经常会使用HtmlHelper来生成各种html代码(可能描述不太清楚看代码吧,呵呵)...HtmlHelper原先的功能不是很多,还好有很多扩展方法,我们能用它来生成一个Input控件,比如: 我们使用上面的代码能生成一个没有值的单行文本框...没有这种扩展方法,那我们只能自己来写一个扩展。...因为也是刚尝试接触MVC,看了一下它的源代码,HtmlHelper的扩展方法都在 System.Web.Mvc.Html 命名空间内,大概看了下InputExtensions的代码,大致是根据传入的类型...不过HtmlHelper还有很多扩展方法,所以还需要写很多代码,俺会一点一点去添加的。 说实在,MVC好像很多地方要使用那种硬编码,实在不爽,所以要改造一个自己适合的环境还真不容易啊。

54580

这算是ASP.NET MVC的一个大BUG吗?

方法接受一个类型为DemoModel的参数,定义其中的逻辑非常简单:我们对该参数的三个属性略加修改后,将其作为Model呈现在对应的View。...foo=123&bar=456&baz=789),我们可以看到界面上呈现出来的总是原始值,也就是说我们在Action方法Index对原始数据的修改没有起到任何效果。 ?...如下所示,当InputHelper在指定表单元素值得时候,会先从当前ModelState获取,如果该值在ModelState不存在,才会当前ViewData获取。...public static class InputExtensions { private static MvcHtmlString InputHelper(HtmlHelper htmlHelper...不过我还是觉得这样的设计有违MVC的基本原则,MVC处理请求的流程很清楚:客户端(浏览器)向定义在Controller的某个Action方法发送请求,Action方法处理这个请求,并呈现出相应的View

79780
领券