我有两个页面ConnectHome和ConnectNext,我想使用跨页回发将ConnectHome连接到ConnectNext页面。但我无法在ConnectNext代码页中创建ConnectHome类的实例。这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
ConnectHome prevPage = (ConnectHome)(this.PreviousPage);
if (prevPage != null)
{
Label1.Text = prevPage.name;
Label2.Text = prevPage.email;
Label3.Text = "You landed this page from " + prevPage.Title.ToString();
}
else
{
Label3.Text = "You directly landed to this page";
}
}
答案 0 :(得分:1)
尝试使用as
语法来避免无效的强制转换异常,而不是像这样进行强制转换。
ConnectHome prevPage = this.PreviousPage as ConnectHome;
if (prevPage != null)
{
Label1.Text = prevPage.name;
Label2.Text = prevPage.email;
Label3.Text = "You landed this page from " + prevPage.Title.ToString();
}
else
{
Label3.Text = "You directly landed to this page";
}
当您使用as
语法时,如果它是有效类型,它将转换。如果不是,则该对象将为null。有关详细信息,请参阅this question。