Estoy tratando de usar un método de extensión de cadena en una vista parcial. Me sale el siguiente error:No se puede usar el método de extensión en la vista parcial
'string' does not contain a definition for 'TruncateAtCharacter'
Aquí es el método de extensión:
namespace PCCMS.Core.Libraries {
public static class Extensions {
public static string TruncateAtCharacter(this string input, int length) {
if (String.IsNullOrEmpty(input) || input.Length < length)
return input;
return string.Format("{0}...", input.Substring(0, length).Trim());
}
}
}
Según this previous question tengo que añadir el espacio de nombres de web.config, sin embargo, he hecho esto y todavía recibir el mismo mensaje de error Sin embargo, lo que es extraño, ¿es que obtengo intellisense para el método de extensión?
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="PCCMS.Core.Libraries.ClientWebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<!-- Other namespaces... -->
<add namespace="PCCMS.Core.Libraries" />
</namespaces>
</pages>
</system.web.webPages.razor>
¿Alguien puede explicar por qué es esto?
Gracias
Lo siento, debería haber mencionado que traté de agregar un @using en el parcial y eso no funcionó. Tampoco tiene que agregar la declaración del espacio de nombres a la web.config dentro del área, ni a la que está en la raíz del proyecto. –
Acabo de copiar su código y solo funciona si uso una declaración @using en la vista. Solo hacer referencia al espacio de nombres en cualquiera de las configuraciones no hace nada. –
Bien. Acabo de hacerlo funcionar solo con el archivo web.config en el directorio de Vistas y sin la declaración @using en la Vista misma. Estoy usando el elemento system.web.webPages.razor/namespaces. No tenía ese elemento en mi configuración de root y cuando agregué la declaración al sistema predeterminado.web.pages también, confundió el analizador. Intenta ponerlo en Views web.config. –