Asp.net 与System.Web.Mvc版本具有相同方法签名的自定义HtmlHelper-调用不明确
我在MVC2源代码中找到了一个稍微定制的LabelFor()Html帮助程序版本。当我在一个视图中使用它时,我得到了一个“模棱两可的调用”错误——这是非常有意义的,因为我的视图也保留了原始的签名Asp.net 与System.Web.Mvc版本具有相同方法签名的自定义HtmlHelper-调用不明确,asp.net,asp.net-mvc-2,html-helper,Asp.net,Asp.net Mvc 2,Html Helper,我在MVC2源代码中找到了一个稍微定制的LabelFor()Html帮助程序版本。当我在一个视图中使用它时,我得到了一个“模棱两可的调用”错误——这是非常有意义的,因为我的视图也保留了原始的签名 LabelFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression) L
LabelFor<TModel, TValue>(this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expression)
LabelFor(此HtmlHelper html,
表达式(表达式)
是否有方法在视图中设置使用/导入别名
编辑:不幸的是,这是不可能的。它看起来像是创建了具有相同方法名和签名的扩展方法,但显然不是在aspx模板中 您不能这样做,因为除了通过目标类型和分辨率中涉及的参数之外,没有任何机制可以影响扩展方法的分辨率。在这种情况下,您将不得不求助于搜索和替换
另一种方法是定义您自己的页面基类型,覆盖Html属性,以返回您自己的派生HtmlHelper,并将扩展基于该类型。但这似乎更骇人听闻 你为什么不给它另一个名字呢?我很懒,我想尽量避免改变视图。如果我需要走那条路,我会的。恐怕你得走这条路。