修复系统.c#中的NullReferenceException

本文关键字:中的 NullReferenceException 系统 | 更新日期: 2023-09-27 17:49:32

我正在开发一个网站,并坚持使用System。得到NullReferenceException。在母版页上,我使用以下代码

if (Request.Url.ToString().ToLower().Contains("content.aspx"))
{
    if (Request.Params["ModuleID"].ToString() == null)
    {
        Response.Redirect("Content.aspx?ModuleID=1");
    }
}

当Module Id为空时,则创建null引用异常。

修复系统.c#中的NullReferenceException

直接调用ToString():

if (Request.Params["ModuleID"] == null)
{
    Response.Redirect("Content.aspx?ModuleID=1");
}

当前你试图在一个空引用上调用ToString

如果ModuleID存在但为空,则不会重定向。您可能需要:

if (string.IsNullOrEmpty(Request.Params["ModuleID"]))
{
    Response.Redirect("Content.aspx?ModuleID=1");
}

您必须检查请求。参数["ModuleID"]为空。null没有。tostring(),这就是为什么你会得到这个异常。如果你使用下面的代码,你不应该得到一个NullReferenceException。

if (Request.Url.ToString().ToLower().Contains("content.aspx")) 
{ 
    if (Request.Params["ModuleID"] == null) 
    { 
        Response.Redirect("Content.aspx?ModuleID=1"); 
    } 
}