ich mit einem DateTime- Suchkriterium ein Suchformular habe, sowie einige anderen Kriterien:eine Action mit einem Datetime in dem Query-String in ASP.NET MVC erstellen
<form method="get" action="/app/search">
<input type="text" value="13/01/2010" name="BeginDate"/>
<input type="text" value="blah" name="SomeOtherCriterion"/>
<form>
So habe ich einen Search-Controller mit einem Standard Aktion (nennen wir es Index) und mit einem SearchCriteria-Parameter.
public class SearchController
{
public ActionResult Index(SearchCriteria searchCriteria) {//blah }
}
public class SearchCriteria
{
public DateTime BeginDate {get; set;}
public string SomeOtherCriterion {get; set;}
}
Nun, wenn ich eine Action, vorbei in einem such Wert erstellt werden soll, also:
Html.ActionLink("Search", "Index", searchCriteria)
Ich erhalte die Begindate Abfrage-String-Parameter in US-Format. Wenn man auf Google schaut und in System.Web.Routing mit Reflector herumstochert, scheint es so zu sein, weil es die InvariantCulture verwendet, also kann ich nichts dagegen tun.
Es scheint, als ob niemand diese Frage schon einmal gestellt hat, also denke ich, dass ich etwas sehr dummes mache ... Bitte helfen Sie!
EDIT: Pass in SearchCriteria zu ActionLink anstelle von anonymen Objekt, um zu zeigen, warum ich nicht einfach die benutzerdefinierte ToString() selbst tun kann.
Nicht wirklich praktisch für uns, aber auf jeden Fall die innovativste Lösung, so werde ich es akzeptieren. Danke Zoltan. – Gaz