System.ApplicationException: Không thể gọi Response.Redirect trong lỗi gọi lại Trang xảy ra khi tôi gọi hàm sau

lập trình

[ad_1]

Không thể gọi Response.Redirect trong lỗi gọi lại Trang đôi khi xảy ra khi tôi gọi phương thức sau. Vui lòng đề xuất tôi sai ở đâu.

C#
private void GetResult()
 {
     SessionWebsitecl.CheckWebsiteSession();
     m_sTheme = SessionWebsitecl.GetLoggedInWebsite().WebsiteTheme;
     string sUrl = Stringcl.GetValue(Request.ServerVariables[StringConstantcl.HTTP_X_REWRITE_URL]);
     if (Page.IsPostBack)
     {
         if (Request.UrlReferrer != null)
         {
             sUrl = Stringcl.GetValue(Request.UrlReferrer.AbsolutePath);
         }
     }
     if (sUrl.Contains('?'))
     {
         sUrl = sUrl.Substring(0, sUrl.IndexOf('?'));
     }
     HttpModulecl oHttpModulecl = new HttpModulecl();
     string sRedirectedUrl = oHttpModulecl.GetTargetURL(sUrl, sUrl);
     if (sRedirectedUrl != "")
     {
         string sQueryString = Request.Url.Query;
         if (sQueryString != "")
         {
             sRedirectedUrl = sRedirectedUrl + sQueryString;
         }
         Response.Status = "301 Moved Permanently";
         Response.AddHeader("Location", sRedirectedUrl);
         Response.End();
     }
     WebsitePagecl.enmPageType ePageType = WebsitePagecl.enmPageType.DynamicLandingPage;
     WebsitePagecl oWebsitePage = new WebsitePagecl();
     int iPageId = oWebsitePage.GetPageId(sUrl, ePageType);
     if (iPageId != 0)
     {
         if (ePageType != WebsitePagecl.enmPageType.None)
         {
             GeneratePageContent(ePageType, iPageId);
             this.RenderSEODetail(ePageType, iPageId);
         }
     }
     else
     {
         Response.Redirect("/include/information/error_404.aspx");
     }
     string sParameter = Request["__EVENTARGUMENT"]; // this parameter contains url to redirect along with the search prefernce
     string sTarget = Request["__EVENTTARGET"]; // target of the event
     if (sParameter != null && sTarget == "btnSeeMoreLikeThis")
     {
         if (sParameter.Contains("#"))
         {
             int iIndex = sParameter.IndexOf("#");
             sUrl = sParameter.Substring(0, iIndex);
             sParameter = sParameter.Remove(0, iIndex + 1);
             this.SetSearch(sParameter, sUrl);
         }
     }
 }

Giải pháp 1

CHÀO,
Hãy thử sử dụng lệnh chuyển hướng như

C#
Response.Redirect("your path",true);

và nếu nó vẫn kích hoạt ngoại lệ thì hãy xử lý nó bằng cách thử, bắt.

Hy vọng nó giúp.

[ad_2]

コメント

タイトルとURLをコピーしました