none
convertir texto ingresado a mayusculas en MVC 3

    Question

  • Buenas, estoy desarrollando un sistema en mvc3, y necesito transformar lo que el usuario

    me ingrese en el formulario a Mayuscula o por lo menos la primera letra.

    Estoy recuperando la primera letra con el substring

    estudiante.ApellidoPaterno.Substring(0, 1);

    estudiante.ApellidoMaterno.Substring(0, 1);

    estudiante.NombreEstudiante.Substring(0, 1);

    como transformar a mayusculas lo que ingrese, ya sea en el formulario (razor)

    o desde el controlador??

    Gracias!!!


    Luis

    Tuesday, November 06, 2012 7:34 PM

Answers

  • Te falto asignar la variable, el metodo no la transforma sino que actua con ella y devuelve el resultado. Es el tipico error de trabajar con string y los metodos ToUpper, Replace,...

    Prueba con:

    estudiante.CodigoEstudiante = apaterno + amaterno +nombres;
    
    estudiante.CodigoEstudiante = estudiante.CodigoEstudiante.ToUpper();

    O de forma más directa así:

    estudiante.CodigoEstudiante = (apaterno + amaterno +nombres).ToUpper();

    Vota mi respuesta si te ha sido útil. Gracias.

    • Marked as answer by luis.isg Tuesday, November 06, 2012 8:32 PM
    Tuesday, November 06, 2012 8:14 PM

All replies

  • Bueno, el cambio a mayúsculas de una variable lo puedes hacer con la función ToUpper:

    apellido = apellido.ToUpper();

    Si eso lo quieres hacer en el controlador, básicamente lo que hay que hacer es que cuando te llegue el Post al método de acción, recuperas los valores a las variables que tengas previstas para ello, por ejemplo, el apellido a la variable Apellido. Después aplicas la llamada a ToUpper, y el resultado lo grabas en base de datos si lo que quieres es grabar el resultado en mayúsculas. Y si lo que quieres es mostrarlo en mayúsculas en la pantalla, pues esa variable se la vuelves a asignar al Modelo, y devuelves la Vista pasándole ese Modelo.

    Si lo quisieras cambiar en el formulario, tendrías que hacerlo con javascript. En este caso, el método que hay que llamar se llama toUpperCase(), y podrías meter la llamada (por ejemplo) dentro de una pequeña subrutina conectada con el evento blur del INPUT en donde están tecleando el texto. Pero en este caso, ya no tiene nada que ver con MVC, eso es código cliente puro, y sería mejor que lo preguntases en el foro de desarrollo web general.

    Tuesday, November 06, 2012 7:54 PM
  • muchas gracias Alberto por tu pronta respuesta, he intentado con hacer con el ToUpper():

    pero al parecer me guarda sin convertir a mayusculas en la base de datos

    por ejemplo

    //creamos el codigo del estudiante

    estudiante.CodigoEstudiante = apaterno + amaterno +nombres;

    estudiante.CodigoEstudiante.ToUpper();


    Luis

    Tuesday, November 06, 2012 8:09 PM
  • Te falto asignar la variable, el metodo no la transforma sino que actua con ella y devuelve el resultado. Es el tipico error de trabajar con string y los metodos ToUpper, Replace,...

    Prueba con:

    estudiante.CodigoEstudiante = apaterno + amaterno +nombres;
    
    estudiante.CodigoEstudiante = estudiante.CodigoEstudiante.ToUpper();

    O de forma más directa así:

    estudiante.CodigoEstudiante = (apaterno + amaterno +nombres).ToUpper();

    Vota mi respuesta si te ha sido útil. Gracias.

    • Marked as answer by luis.isg Tuesday, November 06, 2012 8:32 PM
    Tuesday, November 06, 2012 8:14 PM
  • gracias Estimado David. Me cambio las minusculas a mayusculas! Un abrazo!

    Luis

    Tuesday, November 06, 2012 8:33 PM