我有这段代码
if (PreviousPage.IsPostBack)
{
if (Request.Form["username"] == ConfigurationManager.AppSettings["username"] && Request.Form["password"] == ConfigurationManager.AppSettings["password"])
{
Session["username"] = Request.Form["username"];
using (var context = new mallEntities())
{
var countProducts = (from p in context.Products
select p).Count();
var countStores = (from p in context.Stores
select p).Count();
var countCategories = (from p in context.Categories
select p).Count();
Label3.Text = countProducts.ToString();
Label2.Text = countStores.ToString();
Label1.Text = countCategories.ToString();
}
}
else
{
Response.Redirect("Default.aspx?invaild=true");
}
} else if(Session["username"] == null)
{
Response.Redirect("Default.aspx?session=false");
}
我收到了此错误消息:
Object reference not set to an instance of an object
在PreviousPage.IsPostBack
为什么?
有什么问题?
答案 0 :(得分:4)
我不确定你为什么使用PreviousPage.IsPosback
所以我猜这是一个错误。您应该使用Page.IsPostback
如果您确实想要使用PreviousPage
(我会被难倒),请考虑如果您访问页面direclty它可以为null。
使用传输方法或跨页面发布将处理从一个ASP.NET页面传输到另一个页面时,原始页面包含目标页面可能需要的请求信息。您使用PreviousPage属性来访问该信息
当用户直接从服务器请求该页面时,PreviousPage属性是一个空引用(在Visual Basic中为Nothing)。