0

我们正在从 Telerik Q3 2010 asp.net mvc 扩展升级到 Q1 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
}

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

在此处输入图像描述

在此处输入图像描述

现在,即使他们在选中personalClinin复选框时为HospitalID发布了空值,这完全有意义,并且在控制器端HospitalID应该接受空值,因为它可以为空而不是必需的,但实际上我收到“值“null”是对 ModelstateDictionary 中的 HospitalID 无效。

我不知道是什么让它以这种方式表现。

4

1 回答 1

1

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

于 2011-03-16T06:58:57.273 回答