我试图创建自己的助手,但我完全坚持这个错误。我在网上搜索了很多关于这类问题的帖子。 当我尝试将命名空间添加到视图时,我收到错误“无法找到类型或命名空间'CustomHelpers'...” 所以我为我的助手创建了一个类,并将名称空间添加到Views web.config中。 我的助手班
using System.Web.Mvc;
namespace CustomHelpers
{
public static class CustomHelpers
{
public static string Truncate(this HtmlHelper helper, string input, int length)
{
if (input.Length <= length)
{
return input;
}
else
{
return input.Substring(0, length) + "...";
}
}
}
}
我的web.config
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="Playground.Web" />
<add namespace="CustomHelpers"/>
</namespaces>
</pages>
</system.web.webPages.razor>
我的观点
@using CustomHelpers
@{
ViewBag.Title = "Home Page";
}
答案 0 :(得分:2)
问题是您不应该将类命名为与其命名空间相同。
Do not name a class the same as its namespace
例如,
namespace YourProjectName.Framework
{
public static class CustomHelpers
{
...
}
}