41 messaggi dal 09 gennaio 2012
Nel db ho un campo int che rappresenta una data in formato aaaammgg. Nel form di immissione faccio generare il campo input da @Html.EditorFor(..) ma lui crea un campo di input per l'immissione di numeri e io vorrei invece che mi mostri il classico input text al quale poi associo il datepicker di JQuery.
come fare ?

un grazie a tutti
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
si può fare grazie alla data annotation UIHint con la quale decorerai la tua proprietà di tipo int.
Esempio:
public class Persona {
    [UIHint("String")]
    public int DataDiNascita { get; set; }
}

In questo modo puoi indicare agli helper di MVC (come Html.EditorFor) quale tipo di template vuoi che sia scelto per quella proprietà. Nell'esempio, verrà usato lo stesso template delle proprietà String (cioè una comune textbox).

In alternativa, puoi dare questa indicazione anche nell'helper stesso, col suo secondo parametro.
@Html.EditorFor(persona => persona.DataDiNascita, "String")

Però ti consiglio la prima soluzione, così lo metti in un unico punto e non sei costretto a ripeterlo in ciascuna view.

ASP.NET MVC ti mette a disposizione dei templates per i tipi primitivi ma tu, se vuoi, puoi anche crearti dei template personalizzati che incapsulino tutto il markup necessario a rendere quella textbox un controllo datepicker di jQuery.

ciao,
Moreno
Modificato da BrightSoul il 10 dicembre 2014 22.11 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.