【发布时间】:2011-02-11 15:45:18
【问题描述】:
我有一个发布一堆隐藏变量的表单,其中一些具有相同的名称。这是帖子正文:
OfferId=3802&DeliveryDate=11%2F02%2F2011&DeliveryTime=12%3A00&location=1&location=698
它将它发布到 MVC 操作:
[HttpPost]
public ActionResult DeliveryOptions(DeliveryOptions model)
{
...
}
DeliveryOptions 模型如下所示:
public class DeliveryOptions
{
public long? OfferId { get; set; }
[CustomValidation(typeof(CustomValidator), "IsDeliveryDateValid")]
public DateTime? DeliveryDate { get; set; }
public DateTime? DeliveryTime { get; set; }
[CustomValidation(typeof(CustomValidator), "IsLocationsValid")]
public OfferLocations Locations { get; set; }
}
现在,我想将发布的location 变量解析为 OfferLocations 对象,如下所示:
[ModelBinder(typeof(OfferLocationsModelBinder))]
public class OfferLocations
{
[Required]
public int[] LocationIds { get; set; }
}
模型绑定器当前如下所示:
public class OfferLocationsModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
throw new NotImplementedException();
}
}
问题是,我无法打破 NotImplementedException。模型绑定器不执行。我可能错过了一些明显的东西;有什么想法吗?
【问题讨论】:
标签: c# asp.net-mvc-3 modelbinders