处理asp.net中的可选参数

时间:2017-02-28 18:24:17

标签: c# asp.net variables

我的Intranet应用程序中有一个页面,有时会附加一个变量,有时则没有。例如,在我的分页代码中,我有这个:

[^]

对于其他部分,我有这个:

MenuItem itemMessage = NavMenu.FindItem("First");
itemMessage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1&sid=6";

有时会将MenuItem itemMessage = NavMenu.FindItem("First"); itemMessage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1"; 传递给页面,有时则不会。{/ p>

问题是,另一方面,我正在尝试读取这样的值:

sid

如果未传递var queryStrings = HttpUtility.UrlDecode(Request.QueryString.ToString()); var arrQueryStrings = queryStrings.Split('&'); var part1 = arrQueryStrings[0]; var part2 = arrQueryStrings[1]; ,我会收到第2部分的错误,因为它超出了数组的范围。

知道怎么处理这个吗?

1 个答案:

答案 0 :(得分:2)

使用查询字符串对象来请求特定项目,而不是手动解析字符串。

string part1 = Request.QueryString["page"];
string part2 = Request.QueryString["sid"];

if(part2 != null)
{//check if part2 is sent
}