在 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
并获取一个布尔值,告诉我查询字符串中是否存在 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