Buscar en MVC3 asp.net

Tengo una página de vista múltiple para la búsqueda, como searchArea.cshtml para buscar por zona, searchCity.cshtml para buscar por ciudad y así sucesivamente. Quiero usar una sola acción. en acción, quiero cambiar entre mayúsculas y minúsculas y un campo oculto para el tipo de búsqueda como tipo = 1 para búsqueda de área, tipo = 2 para búsqueda de ciudad, etc. este tipo se usará en caso de cambio para identificar qué categoría quiero buscar. Tengo una acción de búsqueda como

     public ActionResult SearchPost(string searchString,int searchType)
    {

        var posts= from s in db.posts.Include("user")
                       select s;
        switch (searchType)
        {
            case 1:
                posts = db.posts.Include("user").Where(i => i.area == searchString);
                break;
            case 2:
                posts = db.posts.Include("user").Where(i => i.city == searchString);
                break;
            case 3:
                posts = db.posts.Include("user").Where(i => i.garage == searchString);
                break;
            case 4:
                posts = db.posts.Include("user").Where(i => i.p_code == searchString);
                break;

        }
        return View(db.posts.ToList());
    }

Quiero mostrar el resultado en una vista común. ¿Hay alguna idea para implementarlo mediante una página de búsqueda de vista única y una página de resultados de búsqueda de vista única? ¿¿¿Es posible??? gracias de antemano...

preguntado el 03 de mayo de 12 a las 17:05

¿Qué tipo de objeto se devuelve cuando se usa la búsqueda por ciudad y cuando se usa la búsqueda por área? -

Bueno, tu método de acción está bien. Deberías estar recibiendo Lista en su Vista de publicación de búsqueda. Has probado foreach sobre el modelo? -

para todas las búsquedas devolverá el mismo tipo de objetos... -

en mi opinión, obtengo IEnumerable ... Necesito saber qué tipo debo obtener para este problema:

en realidad tengo un modelo de vista (viewModel.postModel). Necesito mostrar los datos de este modelo de vista en mi página de vista (.cshtml) y necesito ver mi opción de búsqueda en la misma página. esta búsqueda filtrará los datos de mi modelo de vista. ¿Debería devolver estos datos de vista a mi acción? -

1 Respuestas

El enlace de modelo MVC funciona bien en las entradas que codifica 'a mano' (es decir, no usa el @Html helpers)

Por lo tanto, si incluye un campo oculto en sus vistas, con un valor codificado que corresponda a su declaración de caso, debería funcionar bien.

por ejemplo, en searchArea.cshtml incluiyendo

<input type="hidden" name="searchString" value="1" />

y los campos correspondientes en el resto de sus vistas, y todos deberían poder usar la misma acción.

contestado el 04 de mayo de 12 a las 04:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.