我的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部分的错误,因为它超出了数组的范围。
知道怎么处理这个吗?
答案 0 :(得分:2)
使用查询字符串对象来请求特定项目,而不是手动解析字符串。
string part1 = Request.QueryString["page"];
string part2 = Request.QueryString["sid"];
if(part2 != null)
{//check if part2 is sent
}