2010-09-30 7 views
9

en el momento tengo esto:obtener el valor del atributo personalizado en el editor de plantillas

en el modelo de vista:

[MyCustom(Foo = 23)] 
public int CountryId { get; set; } 

en la plantilla Editor:

<%= Html.TextBox("", Model) %> 

¿Cómo puedo obtener el valor (Foo = 23) de mi atributo personalizado (MyCustom) en la plantilla del editor?

+0

He aquí una [blog] (http://weblogs.asp.net/seanmcalinden/archive/2010/06/12/asp-net-mvc-2-auto-complete-textbox-custom-view -model-attribute-amp-editortemplate.aspx) que puede serle útil. –

Respuesta

8

En Plantilla del Editor puede obtener el valor del atributo personalizado como se muestra a continuación.

@model int 

@{  
    var CustomAttributes = (ViewData.ModelMetadata).ContainerType.GetProperty(ViewData.ModelMetadata.PropertyName).GetCustomAttributes(typeof(MvcApplication7.Models.MyCustomAttribute), false); 
    if (CustomAttributes.Length > 0) 
    { 
     MvcApplication7.Models.MyCustomAttribute CustomAttribute = CustomAttributes[0] as MvcApplication7.Models.MyCustomAttribute; 

     //That is how you get the value of foo. You can use it as per need of the editor template. 
     @CustomAttribute.Foo 
    } 
} 
Cuestiones relacionadas