HtmlHelper和MVC没有看到我的新方法的问题

时间:2011-05-07 13:01:05

标签: asp.net-mvc

我尝试创建这个HtmlHelper方法:

namespace Power.WebUx.Helpers
{
    public static class HtmlHelperExtensions
    {

public static MvcHtmlString SelectedIfMatch(this HtmlHelper helper, string actual, string expected)
        {
            if (expected == actual)
            {
                return new MvcHtmlString("<option selected=\"selected\" value=\"" + actual + "\"" + actual + "</option>");
            }
            else
            {
                return new MvcHtmlString("<option value=\"" + actual + "\"" + actual + "</option>");
            }
        }

我将Power.WebUx.Helpers行添加到我的web.config:

<pages>
  <namespaces>
    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />
    <add namespace="Power.WebUx.Helpers" />
  </namespaces>
</pages>

但是,当我尝试使用扩展时,我收到一条错误消息,指出System.Web.Mvc.HtmlHelper不包含SelectedIfMatch的定义

我尝试运行的代码看起来是正确的还是我错过了什么?

希望有人可以看到明显的东西。

感谢

Jon Wylie

2 个答案:

答案 0 :(得分:1)

将名称空间导入视图以使用该名称空间中的任何扩展方法

  

&lt;%@ Import Namespace =   “Power.WebUx.Helpers”%&gt;

答案 1 :(得分:0)

确保您正在修改顶级web.config文件(而不是views文件夹中的文件),然后关闭并打开您尝试使用帮助程序的文件