2013-04-11 156 views
0

在我的应用程序中获取空值参数我已发送一个链接到用户的电子邮件ID他可以下载软件点击此链接....现在我的网址看起来像.... http://www.abc.co.in/Download.aspx?period=11/04/2013%2012:29:20%20PM&ProductName=Otja 和我的为页面加载download.aspx页面上retriving这个值代码是在查询字符串参数

string PName = Request.QueryString["ProductName"] as string; 



    string myDate = Request.QueryString["period"]; 
    if (!String.IsNullOrEmpty(myDate)) 
    { 
     myDate = myDate.Replace("!", ":"); 
    } 
    DateTime dt1 = Convert.ToDateTime(myDate); 
    DateTime dt2 = DateTime.Now; 
    TimeSpan variable = dt2 - dt1; 
    if (variable.TotalMinutes > 5) 
    { 
     //Response.Write("Download time is expired now"); 
     lblmsg.Visible = true; 
     lblmsg.Text = "Download time is expired now"; 
    } 
    else 
    { 

     lblmsg.Visible = true; 
     lblmsg.Text = "U can Still Download"; 
    } 

,但是这是不工作我测试前5分钟,分钟后为只显示“您仍然可以下载”所以,我认为我的错误是,我不能在这个download.aspx页面上查询querystring上的产品名称和周期值..请帮助我..谢谢 我认为应该有错误.....字符串未被识别作为有效的日期时间。这就是为什么它是传递null值,所以任何解决方案?

回答

1

你说你认为你的代码无法检索查询参数。你为什么不确认通过先打印值。

Request.QueryString()看起来正确。

您的逻辑可能存在问题,可能会导致执行其他问题。

根据您所提供的请尝试更多相关信息 -

变量指明MyDate值必须是“2013年11月4日06 36”。请确认。

代替Convert.ToDateTime(myDate);试试这个

DateTime.ParseExact(myDate, "dd-MM-yyyy HH:mm", System.Globalization.CultureInfo.InvariantCulture); 
+0

actully先生,我测试了本作代码的Response.Redirect(“download.aspx,FALSE)该网页,我对通过这个网址,使代码发送邮件,并把调试器download.aspx和检查后,我看到两个查询字符串传递null值.. – 2013-04-11 07:15:38

+0

在您的评论download.aspx网址没有任何参数 – 2013-04-11 07:19:16

+0

这是reasion先生如果我把参数,然后它的工作,但我不能做这件事情,因为在查询页面上单击提交按钮后,该URL将自动发送到用户的邮件帐户,并且下载过程已启动,因此我无法将用户重定向到该下载页面,所以我不能通过该代码,我只是通过测试 – 2013-04-11 07:22:32