Результаты Request.Form, если запрошенный ввод пуст - PullRequest
2 голосов
/ 05 мая 2009

Когда я использую Request.Form ("myInput") и поле ввода "myInput" пустое, я получаю ошибку сервера.

Как мне справиться с этим?

Есть ли способ проверить, не был ли заполнен "myInput"?

Ответы [ 3 ]

4 голосов
/ 06 мая 2009

Чтение из коллекции Request.Form не вызывает исключений ни в том случае, если значение является пустой строкой (что происходит, если поле ввода пустое), либо если поле даже не существует.

Если поле ввода пустое, вы получаете пустую строку при чтении из коллекции, поэтому для проверки просто проверьте, равно ли значение свойства Length строки нулю.

Если поле ввода не существует, вы получаете нулевую ссылку (Nothing в VB) при чтении из коллекции, поэтому проверьте, сравниваете ли вы ссылку с null (используйте is Nothing в VB ).

Для проверки обоих условий вы можете использовать метод String.IsNullOrEmpty.

1 голос
/ 06 мая 2009

Вы можете попробовать что-то вроде

If IsEmpty(Request.Form("myInput")) Then
    // input is empty, display error
Else
    // input has been filled, continue
End If
0 голосов
/ 06 мая 2009
If Request.Form("myInput") IsNot Nothing Then
    Response.Write(Request.Form("myInput").ToString())
End If

Сверните ваш код в операторе If, чтобы увидеть, возвращаете ли вы нулевое значение из формы. Если вы попытаетесь привести нулевой ToString (), он выдаст исключение.

...