在querystring参数中获取空值

本文关键字:获取 空值 参数 querystring | 更新日期: 2023-09-27 18:08:48

在我的应用程序中,我已经发送一个链接到用户的电子邮件id,他可以下载软件上点击此链接....现在我的url是....http://www.abc.co.in/Download.aspx?period=11/04/2013%2012:29:20%20PM&ProductName=Otja和我的代码检索这个值在页面加载下载。Aspx页面

    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分钟之前,几分钟后,它只显示"你仍然可以下载",所以我认为我的错误是,我不能检索到这个下载查询字符串上的产品名和周期值。Aspx页面,请帮助我…谢谢我认为应该有错误.....字符串未被识别为有效的日期时间。这就是为什么它传递空值,所以有解决方案吗??

在querystring参数中获取空值

您说您认为代码无法检索查询参数。为什么不先打印这些值来确认一下呢?

Request.QueryString()看起来是正确的。

你的逻辑可能有问题,可能导致else语句被执行。

根据您提供的更多信息,请尝试-

变量myDate的值必须为"11-04-2013 06 36"。请证实。

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

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