我在Intranet应用程序中有一个页面,其中有时会附加一个变量,有时候不会。举例来说,在我的分页代码,我有这样的:在asp.net中处理可选参数
MenuItem itemMessage = NavMenu.FindItem("First");
itemMessage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1&sid=6";
和其他部分我有这样的:
MenuItem itemMessage = NavMenu.FindItem("First");
itemMessage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1";
有时sid
被传递到页面,有时它不是。
问题是,在另一端,我想读出的值是这样的:
var queryStrings = HttpUtility.UrlDecode(Request.QueryString.ToString());
var arrQueryStrings = queryStrings.Split('&');
var part1 = arrQueryStrings[0];
var part2 = arrQueryStrings[1];
如果sid
不过去了,我得到一个错误的第2部分,因为它的范围之外阵列。
任何想法如何处理?
看在这个岗位http://stackoverflow.com/questions/646365/how-do-i-get-data-from-the-query-string-in-asp第二个答案 –
那家伙只是拉回一个变量。如果有两个,我需要拉回两个,如果有一个,我需要拉回两个。我想我可以检查querystrings来查看“&”是否存在,因为这就是我会知道是否有两个变量或只有一个。但我不知道如何在C#中做到这一点。 –