tengo un formulario de búsqueda con un criterio de búsqueda DateTime, además de algunos otros criterios:Creación de un ActionLink con un DateTime en la cadena de consulta en ASP.NET MVC
<form method="get" action="/app/search">
<input type="text" value="13/01/2010" name="BeginDate"/>
<input type="text" value="blah" name="SomeOtherCriterion"/>
<form>
Así que tener un controlador de búsqueda con un valor predeterminado Acción (llamémoslo índice) y con un parámetro SearchCriteria.
public class SearchController
{
public ActionResult Index(SearchCriteria searchCriteria) {//blah }
}
public class SearchCriteria
{
public DateTime BeginDate {get; set;}
public string SomeOtherCriterion {get; set;}
}
Ahora si quiero crear una ActionLink, pasando de un valor searchCriteria, por lo tanto:
Html.ActionLink("Search", "Index", searchCriteria)
me sale el parámetro de cadena de consulta en formato BeginDate Estados Unidos. Buscar en Google y hurgar en System.Web.Routing usando Reflector parece ser porque usa InvariantCulture, por lo que no hay nada que pueda hacer al respecto.
Parece que nadie ha hecho esta pregunta antes, así que supongo que estoy haciendo algo muy estúpido ... ¡Por favor ayuda!
EDITAR: Pase en SearchCriteria a ActionLink en lugar de a un objeto anónimo para mostrar por qué no puedo hacer el personalizado ToString().
No es realmente práctico para nosotros, pero definitivamente es la solución más ingeniosa, así que lo aceptaré. Gracias Zoltan. – Gaz