我在MVC2源代码中找到了一个稍微定制的LabelFor()Html Helper版本。当我在一个视图中使用它时,我得到一个“模糊调用”错误 - 这是完全合理的,因为我也保留了原始的签名。
LabelFor<TModel, TValue>(this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expression)
有没有办法在视图中设置使用/导入别名?
编辑:不幸的是this表明这是不可能的。看起来像创建具有相同方法名称和签名works的扩展方法,但显然不是在aspx模板中。
答案 0 :(得分:0)
您不能这样做,因为除了通过目标类型和分辨率中涉及的参数之外,没有影响扩展方法分辨率的机制。在这种情况下,你将不得不求助于搜索&amp;取代
另一种方法是定义您自己的页面基本类型,它覆盖Html属性以返回您自己的派生HtmlHelper,并将该扩展基于此。但这似乎更令人讨厌。