C# asp.net中可选参数的处理
我的内联网应用程序中有一个页面,其中有时附加变量,有时不附加变量。例如,在我的分页代码中,我有:C# asp.net中可选参数的处理,c#,asp.net,variables,C#,Asp.net,Variables,我的内联网应用程序中有一个页面,其中有时附加变量,有时不附加变量。例如,在我的分页代码中,我有: MenuItem itemMessage = NavMenu.FindItem("First"); itemMessage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1&sid=6"; 对于其他部分,我有以下内容: MenuItem itemMessage = NavMenu.FindItem("First"); ite
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部分将出现错误,因为它超出了数组的范围
知道如何处理吗?使用查询字符串对象来请求特定项,而不是手动解析字符串
string part1 = Request.QueryString["page"];
string part2 = Request.QueryString["sid"];
if(part2 != null)
{//check if part2 is sent
}
看看这篇文章的第二个答案,这家伙只是在撤回一个变量。如果有两个,我需要向后拉两个,如果有一个,我需要向后拉一个。我想我可以检查查询字符串,看看是否存在“&”,因为这样我就可以知道是有两个变量还是只有一个变量。但我不知道如何在C中做到这一点。太好了!我觉得有一种更简单的方法。如果要将
sid
转换为整数,我将使用string.IsNullOrWhiteSpace(part2)
而不仅仅是空检查。