2013-03-18 70 views
0

我有以下代碼根據用戶在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

我認爲你的需求是什麼是數據綁定和驗證。對於空值或空值的驗證將失敗。 – 2013-03-18 15:53:07

+0

@ebeeb - 我很抱歉,但我不太確定你在說什麼...... – SkyeBoniwell 2013-03-18 15:56:49

+0

何時執行上述代碼?如果你點擊確定按鈕? – 2013-03-18 16:05:58

回答

2

我覺得你的代碼沒有被設計得非常好。正確實現此目的的方式將與狀態驗證

所以初級你有一個窗體,其中包含一個對象的當前值。我建議將相應的對象直接綁定到Web表單。無論是空還是空,值實際上是集合

只要用戶按下確定按鈕,就會在相應的對象上執行Save()Validate()方法,並檢查值的有效性。 如果驗證失敗,則取消保存過程,並通知用戶相應地更新其輸入。

+0

謝謝,你知道一個很好的網站,解釋上述? – SkyeBoniwell 2013-03-18 18:13:13

+1

[Here](http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx)是一個鏈接,可能會讓你開始。雖然我對asp.net很不熟悉。 – 2013-03-19 07:20:16