Ich habe folgende Struktur:Benutzerdefinierte Parse-Wert für Viewmodel-Eigenschaft (Custom Bind)
public struct DataRange
{
public DateTime BeginDate {get;set;}
public DateTime EndDate {get;set;}
}
Diese Struktur auf viele Aktionen meiner asp.net Mvc 5 App verwendet wird.
Ich benutze eine benutzerdefinierte Eingabe (daterangepicker) und ich möchte den benutzerdefinierten String-Wert der Eingabe nur einmal an meinen benutzerdefinierten Datentyp binden und es entlang meiner App verwenden.
Z. B:
public class FindSalesByDateViewModel
{
public DateRange Interval {get; set;}
}
public class SalesController : Controller
{
public ActionResult Index(FindSalesByDateViewModel model)
{
//Access the model.Interval without parse the string value always.
}
}
Ich bin ein Anfänger auf mvc Entwicklung. Ich fand die folgenden Lösungen, die nicht sehr attraktiv sind, gibt es andere Möglichkeiten, dies zu erreichen?
EDIT
Die benutzerdefinierte Eingabewert, der aus Sicht kommt, ist: "2016.08.10 - 15/10/2016"
Hallo! Tks für die Antwort, können Sie bitte einen Beispielcode/Dokumentationslink posten? –
Hallo, gern geschehen. Werfen Sie einen Blick darauf: [Globalisierung: Model binding DateTimes mit ASP.Net MVC] (http://www.hackered.co.uk/articles/globalization-model-binding-datetimes-with-asp-net-mvc) oder diese: [Benutzerdefinierte Datumsformate und die MVC Model Binder] (https://blog.greatrexpectations.com/2013/01/10/custom-date-formats-and-the-mvc-model-binder/) oder diese : [Splitting DateTime - Unit testet ASP.NET MVC Custom Model Binders] (http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx) –
In meinem Szenario kam der Wert als Zeichenfolge, wie kann ich in diesem Fall registrieren ? –