从表单设置对象值

时间:2013-03-18 15:47:43

标签: asp.net .net vb.net

我有以下代码,根据用户在Web表单中选择的内容设置某些对象(CarsCourse)值。

代码有效,但是我的一位员工说这是最糟糕的做法。但是,他无法提供任何建议。

那么有更好的方法来实现这个目标吗?

由于

    If Not String.IsNullOrEmpty(tbDisplayName.Text) Then CarsCourse.DisplayName = tbDisplayName.Text
    If Not String.IsNullOrEmpty(tbDescription.Text) Then CarsCourse.Description = tbDescription.Text
    If Not String.IsNullOrEmpty(tbOfficialStartDate.Text) Then CarsCourse.OfficialStartDate = DateTime.Parse(tbOfficialStartDate.Text)
    If Not String.IsNullOrEmpty(tbOfficialEndDate.Text) Then CarsCourse.OfficialEndDate = DateTime.Parse(tbOfficialEndDate.Text)
    If Not String.IsNullOrEmpty(tbBtmDatepicker1.Text) Then CarsCourse.VisibleStartDate = DateTime.Parse(tbBtmDatepicker1.Text)
    If Not String.IsNullOrEmpty(tbBtmDatepicker2.Text) Then CarsCourse.VisibleEndDate = DateTime.Parse(tbBtmDatepicker2.Text)
    If Not String.IsNullOrEmpty(ddlDepartment.SelectedValue) Then CarsCourse.SecondarySpecialtyName = ddlDepartment.SelectedValue
    If Not String.IsNullOrEmpty(ddlOptionType.SelectedValue) Then CarsCourse.OptionType = ddlOptionType.SelectedValue
    If Not String.IsNullOrEmpty(ddlOfficialName.SelectedValue) Then CarsCourse.OfficialCourseID = Guid.Parse((ddlOfficialName.SelectedValue))

1 个答案:

答案 0 :(得分:2)

我认为你的代码设计得不是很好。正确实现此目标的方法是使用 state validation

所以主要有一个表单,它保存一个对象的当前值。我建议将相应的对象直接绑定到Web表单。无论是空还是空,这些值实际上是 set

一旦用户按下OK按钮,就会对相应的对象执行Save()Validate()方法,并检查值的有效性。如果验证失败,取消保存过程并告诉用户相应地更新其输入。