无法创建强类型的跨页回发

时间:2014-07-02 17:49:27

标签: c# asp.net

我有两个页面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";
        }
    }

1 个答案:

答案 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