Как правило, это происходит из-за того, что текстовое поле не понимает формат строки данных, которые вы предоставляете.
Попробуйте изменить код следующим образом:
txtDOB.Text = tempRow["DOB"].ToString("yyyy-MM-dd");
txtDOB.Attributes = tempRow["DOB"].ToString("yyyy-MM-dd");
Подтвердить при отладке (поиспользуя окно Immediate Visual Studio), чтобы увидеть, выпадает ли «tempRow [« DOB »]. ToString (« yyyy-MM-dd »)» допустимая строка даты.