none
Rango de fechas MVC RRS feed

  • Pregunta

  • Hola buenos dias compañeros tengo un campo de tipo DateTime llamado ultimaactualizacion y quisiera saber como podria buscar por un rango de fechas, si en el controlador le mando un dato de tipo de datetime o string o como se podria hacer.
    martes, 14 de noviembre de 2017 17:12

Respuestas

  • >>pero no se puede mandar al controlador un dato de tipo de datetime o si?

    si se puede si defines un model que defina una propiedad del tipo datetime

    si en el model defines

    public class xxModel{
    
       public DateTime FechaDesde {get;set;}
    
    }


    podrias en la view usar esto

    @Html.TextBoxFor(m=>m.FechaDesde)

    entonces al realizar submit asignara la fecha directamente


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Emma Grz martes, 21 de noviembre de 2017 15:59
    martes, 14 de noviembre de 2017 19:26
  • no se puede mandar al controlador un dato de tipo de datetime o si?

    No de la manera como te he mencionado, que entiendo, se intentará realizar una conversión implícita al tipo del parámetro del método de acción. 

    También podrías recuperar los valores a partir del objeto FormCollection

    public ActionResult MethodName(FormCollection form)
    {
    	DateTime fInicio = Convert.ToDateTime(form["fInicio"]);
    	DateTime fFin = Convert.ToDateTime(form["fFin"]);
    }

    • Marcado como respuesta Emma Grz martes, 21 de noviembre de 2017 15:59
    martes, 14 de noviembre de 2017 19:43

Todas las respuestas

  • Aquí lo relevante es el método de acción que procesará la consulta a razón de los valores de fecha, para ello agrega a la vista dos elementos de tipo 'Date', por ejemplo:

    <input type="date" name="fInicio">
    <input type="date" name="fFin">

    El método de acción, que procesará la consulta, deberá recibir ambos valores a través de la definición de parámetros, por ejemplo:

    public ActionResult MethodName(datetime fInicio, datetime fFin)
    {
    	//...
    }

    martes, 14 de noviembre de 2017 17:27
  • Hola compañero gracias por la respuesta pero no se puede mandar al controlador un dato de tipo de datetime o si?
    martes, 14 de noviembre de 2017 17:42
  • >>pero no se puede mandar al controlador un dato de tipo de datetime o si?

    si se puede si defines un model que defina una propiedad del tipo datetime

    si en el model defines

    public class xxModel{
    
       public DateTime FechaDesde {get;set;}
    
    }


    podrias en la view usar esto

    @Html.TextBoxFor(m=>m.FechaDesde)

    entonces al realizar submit asignara la fecha directamente


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Emma Grz martes, 21 de noviembre de 2017 15:59
    martes, 14 de noviembre de 2017 19:26
  • no se puede mandar al controlador un dato de tipo de datetime o si?

    No de la manera como te he mencionado, que entiendo, se intentará realizar una conversión implícita al tipo del parámetro del método de acción. 

    También podrías recuperar los valores a partir del objeto FormCollection

    public ActionResult MethodName(FormCollection form)
    {
    	DateTime fInicio = Convert.ToDateTime(form["fInicio"]);
    	DateTime fFin = Convert.ToDateTime(form["fFin"]);
    }

    • Marcado como respuesta Emma Grz martes, 21 de noviembre de 2017 15:59
    martes, 14 de noviembre de 2017 19:43
  • hola Willams

    porque no trabajas como mdel binding ?

    podrias definir una clase como parametro del action y si envias valores que coincidan con esas propiedades seria mejor que usar el FormCollection

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 14 de noviembre de 2017 19:52
  • ¿por qué no trabajas como model binding ?

    Pienso que para casos particulares se podría pasar los datos como valores escalares (o a través de la colección FormCollection) y evitar crear una clase para cada situación. Sucede lo mismo cuando se requiere pasar un valor del controlador a la vista y se cuenta con la opción de hacerlo mediante un objeto ViewBag, creo, como todo, depende de la situación.

    martes, 14 de noviembre de 2017 23:10