Заполнение текстового поля на основе привязанного столбца в DetailsView - проблема с нулями - PullRequest
0 голосов
/ 17 января 2011

Я пытаюсь заполнить дату из связанного текстового поля в DetailsView.Я продолжаю получать ошибку, когда DBNull находится в столбце.Как избежать DBNull при заполнении текстового поля.Любая помощь по этому вопросу будет большой убыток.

Мой код выглядит следующим образом:

 <asp:TemplateField HeaderText="CBYD Clear Date">
              <EditItemTemplate>
                  <asp:TextBox ID="CBYDExpDate" runat="server" ReadOnly="true" Text='<%# IIf(Eval("CBYDDate") is DBNull.Value,"", String.Format("{0:MM/dd/yyyy}", Eval("CBYDDate").AddDays(30)))%>' />                                                      
          </EditItemTemplate>
    </asp:TemplateField>

1 Ответ

1 голос
/ 18 января 2011

Самое простое было бы определить функцию в коде, который вы вызываете:

Text='<%# getDateText(Eval("CBYDDate"),"{0:MM/dd/yyyy}", 30) %>'

и в коде:

 Protected Function getDateText(ByVal value As Object, ByVal dateFormatString As String, ByVal addDays As Int32) As String
     If value Is Nothing OrElse value Is DBNull.Value Then
         Return String.Empty
     ElseIf TypeOf value Is Date Then
         Dim d As Date = DirectCast(value, Date)
         Return String.Format(dateFormatString, d.AddDays(addDays))
     Else
         Return value.ToString
     End If
 End Function

Для получения дополнительной информации смотрите MSDN

...