ViewModel属性的自定义解析值(自定义绑定)

本文关键字:自定义 绑定 属性 ViewModel | 更新日期: 2023-09-27 18:12:15

我有以下结构体:

public struct DataRange
{
    public DateTime BeginDate {get;set;}
    public DateTime EndDate {get;set;}
}

这个结构体用于我的asp.net mvc 5应用程序的许多操作。

我正在使用自定义输入(daterangepicker),我想将输入的自定义字符串值绑定到我的自定义数据类型,只是一次,并在我的应用程序中使用它。

例句:

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.
    }
}

我是mvc开发的初学者。我发现下面的解决方案不是很有吸引力,有没有其他的方法来完成这个?

解决方案1

解决方案2

编辑

来自view的自定义输入值为:"08/10/2016 - 15/10/2016"

ViewModel属性的自定义解析值(自定义绑定)

您可以在Application_Start中注册您的自定义模型绑定器:

ModelBinders.Binders[typeof(DateTime)] = new YourCustomModelBinder();