在this示例之后,我在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中添加了名称空间,在_Layout.cshtml的顶部添加了@using AdminWebsite.Helpers;
。
用法:
@Html.MenuItem("Home", "Home", "Home")
我对它本身的模糊性感到茫然:
以下方法或属性之间的调用不明确: “AdminWebsite.Helpers.HtmlHelpers.MenuItem(System.Web.Mvc.HtmlHelper, 字符串,字符串,字符串,对象,对象)'和 “AdminWebsite.Helpers.HtmlHelpers.MenuItem(System.Web.Mvc.HtmlHelper, string,string,string,object,object)
答案 0 :(得分:2)
我花了两周的时间才找到真正解决这个问题的方法。我在 App_Code 文件夹下放了一个新的类文件(我好久没用过那个文件夹了)。出于某种原因,我将“Build Action”设置为“ Compile ”。好吧,我想在 App_Code 文件夹下的任何内容都是默认编译的,所以当项目构建时,它会给我这个“模糊”错误。只需将“构建操作”设置回“无”,模糊错误即告消失!您可以在“App_Code”文件夹下找到帮助方法的所有提示!
答案 1 :(得分:0)
似乎任何一个web.config都出错了。只需从空白的MVC4项目中获取web.config并替换。
顺便说一下,在配置和布局中都有命名空间不会引发错误。