0

按照这个例子,我在 App_Code/HtmlHelpers.cs 中创建了一个辅助方法:

namespace AdminWebsite.Helpers
{
    public static class HtmlHelpers
    {
        public static MvcHtmlString MenuItem(this HtmlHelper htmlHelper,
                                             string text, string action,
                                             string controller,
                                             object routeValues = null,
                                             object htmlAttributes = null)
        {
            var li = new TagBuilder("li");
            ...

我在 ~/Views/Web.confg 和@using AdminWebsite.Helpers;_Layout.cshtml 的顶部添加了命名空间。

用法:

@Html.MenuItem("Home", "Home", "Home")

我不知道它是如何对自己模棱两可的:

以下方法或属性之间的调用不明确:'AdminWebsite.Helpers.HtmlHelpers.MenuItem(System.Web.Mvc.HtmlHelper, string, string, string, object, object)' 和 'AdminWebsite.Helpers.HtmlHelpers.MenuItem(System .Web.Mvc.HtmlHelper,字符串,字符串,字符串,对象,对象)

4

2 回答 2

2

我花了 2 周的时间才知道如何真正解决这个问题。我在App_Code文件夹下放了一个新的类文件(我已经很久没有使用那个文件夹了)。出于某种原因,我将“构建操作”设置为“编译”。好吧,我猜App_Code文件夹下的任何东西都已经默认编译了,所以当项目构建时,它会给我这个“模棱两可”的错误。通过简单地将“构建操作”设置回“”,模棱两可的错误就消失了!将帮助方法放在“App_Code”文件夹下的所有人都有一个提示!

于 2015-06-18T12:41:11.927 回答
0

似乎 web.config 中的任何一个都有问题。只需从空白 MVC4 项目中获取 web.config 并替换。

顺便说一句,在配置和布局中都有命名空间不会引发错误。

于 2013-11-07T20:42:15.790 回答