Как проверить текстовое поле + выпадающие в VB для формы asp.net - PullRequest
1 голос
/ 16 февраля 2011

Предыдущий вопрос, который ссылается на это и имеет какой-либо дополнительный код ref, если я забуду связать любой , я настроил его, чтобы он отправлял мне электронное письмо, если кто-то отправит эту форму и произойдет ошибка, и прямо сейчас, если этопроисходят для большинства целочисленных полей или полей даты и времени, если они не могут быть проверены, тогда будет показано, какие поля в письме не были заполнены, а какие введены в них.

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

представляет проверку целочисленных значений и даты и времени

Catch ex As Exception
            lblInformation.Text = ("<h4>Unable to save data in database</h4>" + vbNewLine + "The error was '" + ex.Message + "'" + vbNewLine + vbNewLine + vbNewLine + "The SQL Command which falied was:" + vbNewLine + "<strong>" + mySQL + "</strong>" + vbNewLine).Replace(vbNewLine, "<br />" + vbNewLine)

Dim dtb As DateTime
            If Not DateTime.TryParse(DateOfBirth, dtb) Then
                strEMessageBody.Append("<strong>Date Of Birth:</strong> " & DateOfBirthYear.SelectedItem.Value & "-" & DateOfBirthMonth.SelectedItem.Value & "-" & DateOfBirthDay.SelectedItem.Value & vbCrLf)
                strEMessageBody.Append("<br/>" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab)
            End If
Dim iao As Integer
            If Not Integer.TryParse(AnyOther, iao) Then
                strEMessageBody.Append("<strong>Any Other:</strong> " & rblAnyOther.Text & vbCrLf)
                strEMessageBody.Append("<br/>" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab)
            End If

, затем под полемокончательная проверка У меня есть Dim для настройки электронной почты, но я разобрался в другом вопросе.

Проблема намного раньше на странице, которую я имею

Sub Upload_Click(ByVal source As Object, ByVal e As EventArgs)
    If (Page.IsValid) Then
        Dim Name As String

, которая мешает мне просто использоватьесть имена, как показано выше, где я бы вместо этого назвал их как-то иначе, но это не работает со строками, поэтому моя главная проблема -Для проверки правильности строк и выпадающих списков, которые будут либо работать, но всегда показывать данные в электронном письме, либо приводить к сбоям в коде, приведенный ниже код

Dim imd As Integer
            If Not Integer.TryParse(dept, imd) Then
                strEMessageBody.Append("<strong>Department:</strong> " & dept.Text & vbCrLf)
                strEMessageBody.Append("<br/>" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab)
            End If

был таким, каким он былнастройка для записи отдела Department = dept.SelectedItem.Value Department = Replace (Department, "'", "' '")

Сводка: - Нужен код vb для проверки правильности строк и выпадающих списков и использованияблок try / catch - еще одно возможное решение, но я также не смог понять, как реализовать проверку для этого.

Ответы [ 3 ]

1 голос
/ 17 февраля 2011

Если идти рука об руку с ответом Matt , существует инструмент, который может помочь вам автоматически регистрировать ошибки в БД.

Это называется ELMAH .

EDIT

Вот 2 проверки, которые вы можете использовать:

Dim s As String = "some user input in here" 
If [String].IsNullOrEmpty(s) Then
    ' Watch out, string is null or it is an empty string
End If

Dim cb As New ComboBox()    
If cb.SelectedItem Is Nothing Then
    ' Watch out, combo has no item selected
End If

ПРИМЕЧАНИЕ ComboBox - это элемент управления WinForm в этом примере, но идея аналогична аналогу ASP.NET

1 голос
/ 16 февраля 2011

Зарегистрируйте ваши значения в вашей базе данных. Установите таблицу журналирования с именем "tblLog" или что-то еще. Запишите значение ex.Message или, возможно, даже InnerException (если оно существует).

0 голосов
/ 26 июля 2011

Так как все отказались от попыток найти решение, я просто хочу закрыть эту тему с этим постом в качестве ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...