2010-10-18 92 views
0

我觉得这篇文章: http://blog.tomasjansson.com/asp-net-mvc-helper-for-active-tab-in-tab-menu/掌握主动标签问题ASP.NET MVC

,我想这:)

不幸的是,我是一个错误:

Opis: Wystąpił błąd w czasie kompilowania zasobu wymaganego do obsłużenia tego żądania. Przejrzyj poniższe szczegłowe informacje o błędzie i zmodyfikuj odpowiednio kod źrdłowy.

Komunikat o błędzie kompilatora: CS1061: Element „System.Web.Mvc.HtmlHelper” nie zawiera definicji „ActiveTab”, a nie odnaleziono metody rozszerzającej „ActiveTab”, która przyjmuje pierwszy argument typu „System.Web.Mvc.HtmlHelper” (czy nie brakuje dyrektywy using lub odwołania do zestawu?).

在line:

<li class="green <%=Html.ActiveTab("Home", "Index") %>"><%= Html.ActionLink("Powitanie", "Index", "Home", new { @class = "green" })%></li> 

在我的解决方案中,我有一个名为utils的新项目。在这个项目中,我添加了新的类命名扩展(公共静态类),我复制该文章的所有功能。我必须将对System.Web.Mvc的引用添加到该项目。我将这个Utils项目附加到主项目中,并且在发生错误的地方放入site.master行。

我可以得到任何sugesstions或工作示例?

问候。

回答

0

不幸的是,我不明白错误消息中的语言,但我怀疑问题来自您写入的自定义扩展方法没有纳入范围的事实。这意味着你需要在其中包含在视图中的方法静态类(后只是@Page指令)导入命名空间:

<%@ Import Namespace="Utils" %> 

Utils是为你声明的静态扩展类的命名空间。如果不同,包含它的程序集也应该引用到Web项目中。

为了避免导入此命名空间中的每个查看您想使用,你可以在web.config中声明它的帮助:

<pages> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    <add namespace="Utils" /> 
    </namespaces> 
</pages> 
+0

THX。我只是学习mvc :) – dzajdol 2010-10-18 16:21:37