Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 与System.Web.Mvc版本具有相同方法签名的自定义HtmlHelper-调用不明确_Asp.net_Asp.net Mvc 2_Html Helper - Fatal编程技术网

Asp.net 与System.Web.Mvc版本具有相同方法签名的自定义HtmlHelper-调用不明确

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

我在MVC2源代码中找到了一个稍微定制的LabelFor()Html帮助程序版本。当我在一个视图中使用它时,我得到了一个“模棱两可的调用”错误——这是非常有意义的,因为我的视图也保留了原始的签名

LabelFor<TModel, TValue>(this HtmlHelper<TModel> html, 
                         Expression<Func<TModel, TValue>> expression)
LabelFor(此HtmlHelper html,
表达式(表达式)
是否有方法在视图中设置使用/导入别名


编辑:不幸的是,这是不可能的。它看起来像是创建了具有相同方法名和签名的扩展方法,但显然不是在aspx模板中

您不能这样做,因为除了通过目标类型和分辨率中涉及的参数之外,没有任何机制可以影响扩展方法的分辨率。在这种情况下,您将不得不求助于搜索和替换


另一种方法是定义您自己的页面基类型,覆盖Html属性,以返回您自己的派生HtmlHelper,并将扩展基于该类型。但这似乎更骇人听闻

你为什么不给它另一个名字呢?我很懒,我想尽量避免改变视图。如果我需要走那条路,我会的。恐怕你得走这条路。