Url helper невидим внутри макета.ASP.NET MVC 3 - PullRequest
0 голосов
/ 25 августа 2011

Я просматривал статью о Url методах расширения помощников.И я попытался следовать этой статье, но в результате ни один из написанных методов расширения не был виден в макете (общий файл * .chtml).

public static class UrlHelperExtensions
{
    public static String Image(this System.Web.Mvc.UrlHelper helper, String fileName)  
    {             
         return helper.Content("~/Content/Images/" + fileName);  
    }
    public static String Stylesheet(this System.Web.Mvc.UrlHelper helper, String fileName)
    {
        return helper.Content("~/Content/Stylesheets/" + fileName);
    }
    public static String Script(this System.Web.Mvc.UrlHelper helper, String fileName)
    {
        return helper.Content("~/Content/Scripts/" + fileName);
    }
}

// inside the layout I tried to use this:
<link href="@Url.Content("Site.css")" rel="stylesheet" type="text/css"/> 

Как мне сделать Url методы расширения видимыми внутри макета?

Спасибо!

1 Ответ

2 голосов
/ 25 августа 2011

Убедитесь, что у вас есть ссылка на ваше пространство имен, в котором вы используете помощников.

Поэтому, если вы создали класс UrlExtensions в MyClassLib.Web, добавьте @using MyClassLib.Web в начало вашего файла .cshtml.

...