Nie wiem, czy to się działo w PR lub Beta, ale jeśli utworzę metodę rozszerzenia na HtmlHelper
, nie zostanie ona rozpoznana na stronie zasilanej Razor:
namespace SomeNamespace.Extensions {
public static class HtmlExtensions {
public static string Foo(this HtmlHelper html) {
return "Foo";
}
}
}
Dodałem go do <Namespaces>
sekcji w Web.config
:
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<!-- snip -->
<add namespace="SomeNamespace.Extensions"/>
</namespaces>
</pages>
Ale generuje błąd kompilacji podczas próby wyświetlenia strony:
@Html.Foo()
Jeśli ponownie utworzę stronę za pomocą formularzy internetowych, będzie działać dobrze. O co chodzi?
Obejście problemu
Jeśli uwzględnię @using SomeNamespace.Extensions
w widoku Razor, to działa, ale wolałbym po prostu mieć to wWeb.config