c# - 错误 : Object Reference is not set to an instance of object

标签 c# asp.net

<分区>

我目前正在开发一个应用程序,该应用程序将使用户能够从我们在他的电子邮件地址中提供的链接下载演示软件。 24 小时后,现在我已经通过他的电子邮件地址中显示的链接完成了,他可以下载但是在禁用此链接的编码中..我收到错误我的代码是..

protected void btn_sub_Click(object sender, EventArgs e)
{        
    cn.Open();
    objInquiry.Name = txt_name.Text.ToString().Trim();
    objInquiry.MobileNo = txtMobileNo.Text.ToString().Trim();
    objInquiry.EmailId = txt_eid.Text.ToString().Trim();
    objInquiry.InquiryFor = "Agriculture Product Marketing comity System".ToString().Trim();
    objInquiry.Message = txt_msg.Text.ToString().Trim();

    using (DataSet ds = objInquiry.InsertInquiry())
    {
        Msg.Visible = true;
        Msg.Text = "Thank U For Inquiry We Will Send Demo Link To Your Email Please Check Your Email Regularly";
    }

    try
    {
        DateTime dt1 = Convert.ToDateTime(Request.QueryString["period"].ToString());
        DateTime dt2 = DateTime.Now;
        TimeSpan ts = dt2 - dt1;

        if (ts.TotalMinutes > 5)
        {
            Response.Write("Download time is over");
        }
        else
        {
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("abc@gmail.com");
            mail.To.Add(txt_eid.Text);
            mail.Subject = txtInquiryFor.Text;
            mail.IsBodyHtml = true;
            mail.Body = "Welcome Mr." + txt_name.Text + "<br><br>";
            mail.Body += "To ShreeHans Webnology" + "<br><br>";
            mail.Body += "Thank u for putting inquiry for" + txtInquiryFor.Text + "<br><br>";
            mail.Body += "Please Click on Following Link To Download Your Demo" + "<br><br>";
            mail.Body += "<a href=\"http://www.test.co.in/ConatctUs.aspx?period=" + DateTime.Now + "'\">Download Demo Software</a>";

            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;
            smtp.Credentials = new System.Net.NetworkCredential("abc@gmail.com", "*****");
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            smtp.Send(mail);
        }
    }
    catch (Exception ex)
    {
        ex.ToString();
    }

最佳答案

正如您提到的,错误在行中

DateTime dt1 = Convert.ToDateTime(Request.QueryString["period"].ToString());

所以它表明你在

中有空值
Request.QueryString["period"].ToString()

首先检查空值然后将其转换为日期时间

if(Request.QueryString["period"]!=null)
{
    DateTime dt1 = Convert.ToDateTime(Request.QueryString["period"].ToString());
}

关于c# - 错误 : Object Reference is not set to an instance of object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876589/

相关文章:

c# - asp.net 下拉列表和 View 状态

c# - 在 ASP.NET MVC 中获取 Foreach 循环中的项目总和

jquery - ASP.NET MVC Bootstrap 动态模式内容

c# - 仅将 API URL 限制为 Android 应用程序

c# - WPF : How do I make a editable path

c# - 如何附加到表达式

c# - 如何响应.write bytearray?

c# - WPF动画回调函数

c# - 通过将类名作为字符串提供来获取引用程序集中的类型?

asp.net - UserManager.GenerateEmailConfirmationToken 返回不适合 URL 传输的 token