我开发了一个网站,并坚持使用System.NullReferenceException。 在主页面上我使用此代码
if (Request.Url.ToString().ToLower().Contains("content.aspx"))
{
if (Request.Params["ModuleID"].ToString() == null)
{
Response.Redirect("Content.aspx?ModuleID=1");
}
}
当Module Id为空时,它会创建空引用异常。
答案 0 :(得分:7)
只需取出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");
}
答案 1 :(得分:2)
您必须在null上检查Request.Params [“ModuleID”]。 null没有.ToString(),这就是你得到这个异常的原因。 如果您使用以下代码,则不应得到NullReferenceException。
if (Request.Url.ToString().ToLower().Contains("content.aspx"))
{
if (Request.Params["ModuleID"] == null)
{
Response.Redirect("Content.aspx?ModuleID=1");
}
}