相关疑难解决方法(0)

检查Request.QueryString中是否存在未分配的变量

在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"
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要检查是否存在测试,所以我可以调用页面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
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要的是一个布尔值,告诉我测试变量是否存在于字符串中.

我想我可以使用正则表达式检查字符串,但我很好奇是否有人有更优雅的解决方案.

我尝试过以下方法:

//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")
Run Code Online (Sandbox Code Playgroud)

这种行为与PHP不同,例如,我可以使用它

$testExists = isset($_REQUEST['test']); // == True
Run Code Online (Sandbox Code Playgroud)

c# asp.net .net-3.5

18
推荐指数
2
解决办法
2万
查看次数

是否可以从查询字符串获取字典?

我的控制器方法如下所示:

public ActionResult SomeMethod(Dictionary<int, string> model)
{

}
Run Code Online (Sandbox Code Playgroud)

是否可以仅使用查询字符串来调用此方法并填充“模型”?我的意思是,键入如下内容:

ControllerName/SomeMethod?model.0=someText&model.1=someOtherText
Run Code Online (Sandbox Code Playgroud)

在我们的浏览器地址栏中。可能吗?

编辑:

看来我的问题被误解了-我想绑定查询字符串,以便自动填充Dictionary方法参数。换句话说-我不想在我的方法中手动创建字典,但是我会用一些自动数学的.NET绑定器来创建它,所以我可以像这样立即访问它:

public ActionResult SomeMethod(Dictionary<int, string> model)
{
    var a = model[SomeKey];
}
Run Code Online (Sandbox Code Playgroud)

是否有自动装订机,足够聪明地做到这一点?

c# query-string asp.net-mvc-4

7
推荐指数
3
解决办法
5299
查看次数

如何检查Request的查询字符串中是否提供了"unknown"参数?

例如,如果查询字符串有2个预期参数,比如说.param1 = "abc"&param2 = "def".

我知道Request.QuerySring["abc"]会在查询字符串中检查"abc".

但有没有办法验证用户是否输入除param1或param2以外的任何其他内容?

谢谢.

c# request.querystring

5
推荐指数
1
解决办法
148
查看次数

遍历 C# 中的所有查询值

我正在尝试在 C# 中迭代​​未知数量的查询值......并且找不到与 LINQ 无关的任何内容,我无法使用。谁有想法?

.net c# asp.net

2
推荐指数
1
解决办法
5696
查看次数