Проверьте, существует ли неназначенная переменная в Request.QueryString.C#

Место общения программистов C#
Ответить
Anonymous
 Проверьте, существует ли неназначенная переменная в Request.QueryString.

Сообщение Anonymous »

В контексте страницы ASP.NET я могу использовать Request.QueryString для получения коллекции пар ключ/значение в части строки запроса URI.

Например, если я загружаю свою страницу с помощью http://local/Default.aspx?test=value, я могу вызвать следующий код:

//http://local/Default.aspx?test=value

protected void Page_Load(object sender, EventArgs e)
{
string value = Request.QueryString["test"]; // == "value"
}


В идеале я хочу проверить, существует ли test вообще, чтобы я мог вызвать страницу с помощью http: //local/Default.aspx?test и получите логическое значение, сообщающее, существует ли тест в строке запроса. Примерно так:

//http://local/Default.aspx?test

protected void Page_Load(object sender, EventArgs e)
{
bool testExists = Request.QueryString.HasKey("test"); // == True
}


Поэтому в идеале мне нужно логическое значение, которое сообщает мне, присутствует ли тестовая переменная в строке или нет.

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

Я пробовал следующее:

//http://local/Default.aspx?test

Request.QueryString.AllKeys.Contains("test"); // == False (Should be true)
Request.QueryString.Keys[0]; // == null (Should be "test")
Request.QueryString.GetKey(0); // == null (Should be "test")


Это поведение отличается, например, от PHP, где я могу просто использовать

$testExists = isset($_REQUEST['test']); // == True


Подробнее здесь: https://stackoverflow.com/questions/149 ... uerystring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»