Как я могу узнать конкретное значение в форме, используя `request.form`?

#asp.net

#asp.net

Вопрос:

Как я могу узнать конкретное значение для формы с помощью request.form ? Я долго пытаюсь это сделать, но безуспешно.

 i want to check something like this
if (request.form.contains("text_check"))  //But it doesn't work
{
go in;

}
else{

here we go;
}
 

я хочу знать конкретное значение от AllKeys, а также общее количество всех ключей.

Ответ №1:

Чтобы проверить, существует ли ключ в данных формы, вы можете просто сравнить значение с null:

 if (Request.Form["text_check"] != null) {
 

Если ключ существует, вы всегда получаете обратно строковое значение, даже если значение пустое.

Если вы хотите проверить, есть ли непустое значение, вы можете использовать String.IsNullOrEmpty метод:

 if (!String.IsNullOrEmpty(Request.Form["text_check"])) {
 

Комментарии:

1. Кажется, это лучший и самый простой способ. Я попытался передать javascript null, и он отображается на сервере как пустой, но не null. Это работает для меня. 1

Ответ №2:

Если вы хотите проверить, существует ли определенный ключ в Request.Form коллекции, вы можете сделать это следующим образом:

 if(Request.Form.AllKeys.Any(k => k == "text_check")) { ... }
 

и затем получить его значение:

 if(Request.Form.AllKeys.Any(k => k == "text_check")) 
{ 
     var textCheckValue = Request.Form["text_check"];
}
 

Чтобы получить общее количество ключей, затем:

 var count = Request.Form.AllKeys.Count();
 

Ответ №3:

Если вы используете элементы управления на стороне сервера, вы можете использовать Request.Form.Contains(text_check.UniqueId) , чтобы убедиться, что форма имеет это значение во время обратной передачи.