2010-07-31 135 views
2

我玩Razor + MVC 3,并有一个非常简单的场景...基本上我试图创建一个非常基本的HTML帮助,但我得到以下异常:ASP.Net MVC 3 - Html扩展

'System.Web.Mvc.HtmlHelper' 不包含 'ScriptCss' 的定义和没有扩展方法 'ScriptCss' 接受第一个参数 类型“System.Web.Mvc的 。 HtmlHelper' 可能被发现(你是错过了 使用指南或者装配 参考数据?)

为扩展名的代码如下所示:

public static MvcHtmlString ScriptCss(this HtmlHelper htmlHelper, string path) 
    { 
     return MvcHtmlString.Create(String.Format("<link rel=\"stylesheet\" type=\"text/css\" href=\"{0}\" />", path)); 
    } 

我要去的地方wroung任何想法?

干杯 安东尼

回答

6

我查了几件事情,你

一)确保父类的扩展方法是公开的吗?

和b)导入相应的命名空间:

@using MyNamespace; 
+0

嗨......事实证明了不支持web.config中的命名空间部分...这是有道理的,因为它不使用asp.net视图引擎...有趣的是,看看他们如何处理剃须刀中的需求 – 2010-08-01 02:22:26

+0

web.config中的命名空间部分用于配置ASPX分析器和代码生成器。如果我们在Razor中使用它,我们会得到一些额外的命名空间,如导入的System.Web.UI,这在Razor中是无用的。我们将在未来的版本中为Razor添加一个新的web.config部分。到目前为止,请参阅堆栈器有关全局导入的CodeGeneratorSettings的回答。 – 2010-08-02 15:39:38