Я все новичок в ASP.NET MVC и методах расширения.Целое расширение в mvc razor view
Я создал два расширения, которые я хочу использовать в моем Виде:
public static class Extensions
{
public static string ToYesNo(this bool value)
{
return value ? "Yes" : "No";
}
public static string MonthToString(this int value)
{
return (value >= 1 && value <= 12) ? CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(value) : "";
}
}
я могу использовать ToYesNo с BOOL в представлении, но я не могу просматривать MonthToString с целым числом. Я получаю:
'int' does not contain a definition for 'MonthToString'
Расширения находятся в пространстве имен BitvaerkAdmin.Models, и я ссылаться, что в й файл cshtml.
Почему я не могу использовать свое целочисленное расширение?
Edit:
я ссылаться расширения на мой взгляд, как это:
@using BitvaerkAdmin.Models
<h3>
@ViewBag.Month.MonthToString()
</h3>
@foreach (Order order in ViewBag.Orders)
{
<td>
@order.Valid.ToYesNo()
</td>
}
Не могли бы вы показать нам, как вы пытаетесь вызвать метод расширения в представлении? –
Вы перекомпилировали проект, верно? :) – alexn
@alexn, это хороший момент. Я думаю, вы прибили его :-) Это единственное возможное объяснение, о котором я могу думать сейчас, и это имеет смысл. +1. –