gpt4 book ai didi

asp.net-mvc-4 - 为 UrlHelper 创建扩展方法时出错

转载 作者:行者123 更新时间:2023-12-04 04:39:51 25 4
gpt4 key购买 nike

我正在使用这个 class因为在我的应用程序中有干净的 URL:

public static class UrlEncoder
{
public static string ToFriendlyUrl(this UrlHelper helper,
string urlToEncode)
{
urlToEncode = (urlToEncode ?? "").Trim().ToLower();

StringBuilder url = new StringBuilder();

foreach (char ch in urlToEncode)
{
switch (ch)
{
case ' ':
url.Append('-');
break;
case '&':
url.Append("and");
break;
case '\'':
break;
default:
if ((ch >= '0' && ch <= '9') ||
(ch >= 'a' && ch <= 'z'))
{
url.Append(ch);
}
else
{
url.Append('-');
}
break;
}
}

return url.ToString();
}
}

我正在以这种方式使用上面的类(class):
<a href="/Products/@item.Id/@Url.ToFriendlyUrl(item.Name)">@item.Name</a>

但我收到此错误并且扩展名不起作用:
Compiler Error Message: CS1061: 'System.Web.Mvc.UrlHelper' does not contain a definition for 'ToFriendlyUrl' and no extension method 'ToFriendlyUrl' accepting a first argument of type 'System.Web.Mvc.UrlHelper' could be found (are you missing a using directive or an assembly reference?)

我已经添加了这些 using 指令:
using System;
using System.Text;
using System.Web.Mvc;

我试过 this method但我仍然有同样的错误:
@UrlHelper.ToFriendlyUrl(item.Name)

并使用此指令 using System.Web.Http.Routing;相反 using System.Web.Mvc;但我仍然有同样的错误。
似乎 UrlHelper属于另一个程序集,我不知道。

任何想法?
感谢您的建议

最佳答案

您还需要包含 UrlEncoder 的命名空间你认为的类:

@using Mynamespace

关于asp.net-mvc-4 - 为 UrlHelper 创建扩展方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19065715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com