Telerik网格发布的值使Modelstate无效

时间:2011-03-14 04:43:07

标签: asp.net-mvc-2 telerik data-annotations telerik-grid telerik-mvc

我们正在从telerik Q3 2010 asp.net mvc扩展升级到2011年第一季度。之前,在网格编辑中,禁用值未在表单中发布,但现在它们被发布为空值。我问telerik团队他们确认这是预期的行为,他们将把所有模型发回给控制器。令我困扰的是,一个字段的空值使得Modelstate无效,即使该字段可以为空并且我没有用Required属性进行装饰。这是我的视图模型

public class VMDoctorHospital
    {
        [HiddenInput(DisplayValue = false)]
        public int DrHospitalID { get; set; }
        [HiddenInput(DisplayValue = false)]
        public int DoctorID { get; set; }
        [DisplayName("Personal Clinic?")]
        public bool PersonalClinic { get; set; }
        [DisplayName("Clinic Name")]
        public string ClinicName { get; set; }
        [DisplayName("Hospital"), UIHint("IntStrEditor")]
        public int? HospitalID { get; set; }
        [DisplayName("Doctor's Position")]
//ohter fields
}
模型中的

PersonalClinic标志指示将禁用和隐藏哪个输入(诊所名称或HospitalID)。

enter image description here enter image description here
现在,即使他们在检查了personalClinin复选框时为HospitalID发布了空值,它也完全有意义,在控制器端,HospitalID应该接受空值,因为它可以为空并且不是必需的,但实际上我收到了 “值”null“对于ModelstateDictionary中的”HospitalID“无效。我不知道是什么让它以这种方式表现。在这方面的任何帮助都非常感谢 感谢

1 个答案:

答案 0 :(得分:1)

这被认为是一个错误,将在即将发布的版本中解决。