0

每次我使用 this.Page.PreviousPage 和 thisPage.PreviousPage 之类的任何东西时,它似乎都在执行页面而不是获取它的值。

我之所以这么说是因为,每当我在代码上使用它时,它都会将我重定向到我在 Masterage.aspx.cs 文件中设置的错误页面,该页面对用户可以访问的页面执行此操作。它只发生在这些行上,因为当我运行断点时,程序会重定向到这些行上的错误页面。

        if (this.Page.PreviousPage != null) //This checks if the previous page is not empty
        {
            GridView gridViewToExport = new GridView();
            string gridViewName = Request.QueryString["gridviewname"];

            //Check if the masterpage contentplaceholder exists
            if (this.Page.PreviousPage.Master.FindControl("CPH1") != null)
            {
                //If Exists then do this steps
                Control ContentPlaceHolder1 = this.Page.PreviousPage.Master.FindControl("CPH1");
                gridViewToExport = (GridView)ContentPlaceHolder1.FindControl(gridViewName);
            }
            else
            {
                //If is not existent, then continue with this.
                gridViewToExport = (GridView)this.Page.PreviousPage.FindControl(gridViewName);
            }

            frmExportarDatos.EnableViewState = false;
            frmExportarDatos.Controls.Add(gridViewToExport);
        }

我从中得到的错误是“this.Page.PreviousPage”引发了“System.Threading.ThreadAbortException”System.Web.UI.Page {System.Threading.ThreadAbortException} 类型的异常

4

1 回答 1

0

You simply add a check here

if(Page.PreviousPage.Master ==  null)
  //Some code.
else
  //Again some code.
于 2013-10-17T15:22:35.163 回答