簡體   English   中英

在C#中修復System.NullReferenceException

[英]fix System.NullReferenceException in C#

我正在開發一個網站,並陷入System.NullReferenceException。 在我正在使用此代碼的母版頁上

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

當模塊ID為空時,它將創建空引用異常。

只需取出對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");
}

您必須檢查Request.Params [“ ModuleID”]是否為null。 null沒有.ToString(),這就是為什么會出現此異常的原因。 如果使用以下代碼,則不應獲取NullReferenceException。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM