Alguien tiene alguna idea sobre cómo especificar el texto cuando se utiliza Html.LabelFor(c=>c.MyField). Es sólo MyField podría no ser un nombre apropiado para mostrar en la pantalla, usted puede desear «El Super Fantástico Campo de» lugar, pero no parece ser cualquier sobrecargas.

Alguna idea?

InformationsquelleAutor Kezzer | 2009-08-21

7 Comentarios

  1. 134

    Utilizar Sistema.ComponentModel.DataAnnotations.DisplayAttribute:

    [Display(Name = "My Field")]
    public string MyField { get; set; }

    Configuración de la ResourceType propiedad en su atributo permitirá el uso de un archivo de recursos.

    (Antes de la .NET 4 uso Sistema.ComponentModel.DisplayNameAttribute con la salvedad de que el nombre de la pantalla debe ser una constante en tiempo de compilación.)

    • Eres el ganador. Tienes que tener using System.ComponentModel; aunque.
    • Tengo mi generador de código de escupir estas fuera de forma automática, insertar espacios entre mayúsculas y minúsculas Pascal palabras. Funciona como un encanto!
    • Aunque esta solución se ve muy bonito, tengo Error 381 An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type. Así que esta solución parece ser malo para l18n.
    • He actualizado la respuesta para reflejar el nuevo-en-.NET-4 System.ComponentModel.DataAnnotations.DisplayAttribute, que permite el uso de un archivo de recursos. Si aún no estás en 4/4.5, la antigua System.ComponentModel.DisplayNameAttribute puede ser extendida de manera: stackoverflow.com/a/2432520/33533
    • ¿qué hiciste para conseguir este trabajo?
    • Yo estaba usando la T4 para generar el modelo de clases con atributos apropiados. Yo tenía un método que divide la cadena en mayúsculas y, a continuación, se unió de nuevo con un espacio. (Ha sido 3 años, así que no tengo el código delante de mí en este momento…)
    • Tengo varios problemas con este. Creo que esta es una buena solución, sin embargo, consulte esta página para ver otro enfoque. sheldons.me/2014/10/06/…

  2. 26

    Hay una nueva sobrecarga en MVC 3, así que usted debe ser capaz de especificar custom test (prueba personalizada para el labelfor ayudante.

    • modelo.IdCode, «Nombre Descriptivo»)
  3. 3

    No he descargado v2 todavía, así que no puedo probar, pero creo que también funciona como directorio dynamicdata, en cuyo caso deberá hacer algo como esto en su modelo:

    [Display(Name = "The Super Fantastic Field")]
    public string MyField {get;set;}
    • La pantalla no está disponible, y intellisense no puede encontrar en cualquier libs bien.
    • Agregar una referencia a System.ComponentModel.DataAnnotations.dll y añadir el uso del Sistema.ComponentModel.DataAnnotations.
    • Más bien, agregar una referencia al Sistema.ComponentModel.DataAnnotations de la GAC (es decir, en el .NET ficha de agregar referencias)
    • Yo uso DataAnnotations ya, por lo que la referencia no es el problema.
    • Ah, perdón, que al parecer Silverlight3/.NET 4.0: msdn.microsoft.com/en-us/library/… creo que DisplayName va a hacer lo que quieres, como itsmecurtis sugiere. Aquí hay más sobre esto: davidhayden.com/blog/dave/archive/2009/08/19/…
  4. 2

    Hay dos maneras
    1″directo anotaciones»
    2″Annotatinos con un recurso»

    Directo anotaciones

    [Display(Name = "My Field")]
    public string MyField { get; set; }

    Annotatinos con un recurso

    [Display(Name = "My_Field",ResourceType = typeof(Resource))]
    public string MyField { get; set; }

    Segunda forma se requieren para agregar un valor en el archivo de recursos probablemente el nombre como de Recursos.resx.

    El uso que se adapte a su propósito.

  5. 0

    No he comprobado el CP1, pero he leído sobre Scott liberación de la misma y me parece recordar que el código generado por la T4. Supongo que siempre podría mod, pero yo sospecho que ellos le proporcionan sobrecargas en el CP2.

    Edit: La fuente está siempre disponible y por lo tanto sólo podría mod el método, el cambio de la T4 del generador, y usted será bueno para ir. También poner en un billete o una petición (de alguna manera) para que el mod por lo que se trabajó en la próxima versión.

    • La vergüenza, estoy haciendo un trabajo vista previa, pero no es realmente viable como nuestros nombres de campo son bastante falsos en comparación con su descripción de las contrapartes.
  6. 0

    Hay 5 sobrecargas. Muchos de ellos ofrecen segundo parámetro de la «cadena de labelText», que establece que «El Súper Fantástico Campo».

Dejar respuesta

Please enter your comment!
Please enter your name here