В контексте страницы 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
Проверьте, существует ли неназначенная переменная в Request.QueryString. ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение