【问题标题】:Problem with MvcSiteMapProvider 3.0 with ASP.NET MVC3 with Razor带有 Razor 的 ASP.NET MVC3 的 MvcSiteMapProvider 3.0 的问题
【发布时间】:2011-04-03 19:03:01
【问题描述】:

我无法让 MvcSiteMapProvider 正常工作。 我已经阅读了关于 codeplex 的文档,并按照他们展示的方式进行了设置。

我已将 MvcSiteMapProvider.dll 引用到我的 Web 项目中。

我遇到的问题是我根本无法访问@Html.MvcSiteMap()。 HtmlHelper 中缺少 .MvcSiteMap。

有什么建议吗?

【问题讨论】:

    标签: asp.net-mvc-3 razor html-helper mvcsitemapprovider


    【解决方案1】:

    您是否添加了对 web.config 的引用?如here 所述。

    编辑: 好的,我下载了它,创建了新的 MVC 3 项目,引用了 dll 并将命名空间添加到两个配置中(一个根目录和 /Views/ 文件夹中的一个),我让它工作了。 image.

    起初我在将这些命名空间添加到 Web 配置时执行 Ctrl+C -> Ctrl+V 时犯了一个错误。我选择了他们提供的整个代码块并尝试将它们粘贴到网络配置中。这当然是错误的。您只需要选择这两行

    <add namespace="MvcSiteMapProvider.Web.Html" /> 
    <add namespace="MvcSiteMapProvider.Web.Html.Models" />
    

    并将它们添加到元素中。也许您做对了,但是我按照他们的步骤进行操作,并且可以正常工作,因此如果您做了同样的事情并且对您不起作用,则必须提供代码。

    或者如果你不能让它工作,那么试着做我做的事。创建新的 mvc 项目,添加站点地图,将其添加到配置中并检查是否在视图中获取它。

    【讨论】:

    • 是的,我有。我已经完成了该站点上的所有步骤,但仍然无法使其正常工作。我使用区域,所以我得到了三个 web.config,但我只将信息添加到默认 web.config。
    • 您可能已经尝试将该配置放入那些单独的 Web 配置中,对吧?
    • 好的,我下载了它,创建了新的 MVC 3 项目,引用了 dll 并将命名空间添加到两个配置中(一个根目录和一个在 /Views/ 文件夹中),我让它工作了。 image
    • 感谢@dampe 的帮助!我让它在一个新项目中工作,但不是在旧项目中,所以我必须删除一些东西,直到它开始工作,我猜,然后一一添加它们..我无法查看所有子节点,如测试, test1-1, test1-2, test2 它只显示 test1 和 test2 .. 但我想那是一个新问题。
    • 其实在 Views/web.config 文件中添加命名空间应该足够了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    相关资源
    最近更新 更多