코드 비하인드에서 프로그래밍 방식으로 aspx 페이지 닫기

코드 비하인드에서 ASPX 페이지를 닫는 가장 좋은 방법은 무엇인가요?

사용자가 페이지에서 ASP.NET 버튼을 클릭한 후 페이지를 닫으려는 버튼 이벤트 핸들러가 있습니다. 페이지를 닫기 위해 window.close() 명령이 포함된 JavaScript 메서드를 OnClientClick 이벤트에 프로그래밍 방식으로 추가하려고 시도했지만 작동하지 않습니다. 이 버튼은 AJAX 업데이트 패널에 대한 asp:AsyncPostBoskTrigger이기도 합니다.

이 애플리케이션은 .NET Framework 3.5를 사용합니다.

일반적으로 다음과 같은 일을 할 것입니다

<! - 언어: c # - &gt.

protected void btnClose_Click(object sender, EventArgs e)
{
    ClientScript.RegisterStartupScript(typeof(Page), "closePage", "window.close();", true);
}

그러나 다른 원컨대 셨으며 판가름 날 서로 다른 점에 유의하십시오. Firefox won& # 39, t, t # 39 열 수 있는 창이 닫으십시오 wasn& 사용자가 (연 빈다우지오픈 을 (를) ' ()').

IE7, 이 페이지를 사용자에게 물어봅니다 &quot &quot is trying to close (Yes no). 대화.

어떤 경우든 창의 항상 닫기와 협상을 위한 준비를 해야 합니다!

2 위 문제에 대한 하나의 수리입니다 사용할 수 있습니다.

<! - 언어: c # - &gt.

protected void btnClose_Click(object sender, EventArgs e) {
    ClientScript.RegisterStartupScript(typeof(Page), "closePage", "window.open('close.html', '_self', null);", true);
}

만들어 클로에스타믈:



 <script language="javascript" type="text/javascript">
     var redirectTimerId = 0;
     function closeWindow()
     {
         window.opener = top;
         redirectTimerId = window.setTimeout('redirect()', 2000);
         window.close(); 
     }

     function stopRedirect()
     {
         window.clearTimeout(redirectTimerId);
     }

     function redirect()
     {
         window.location = 'default.aspx';
     }
 </script>


     <h1>Please Wait...</h1>

참고로 클로에스타믈 재지정합니다 경우 2 초 후에 어떤 이유로 창이 닫히지 default. aspx 했다.

해설 (0)
 protected void btnOK_Click(object sender, EventArgs e)
        {

          // Your code goes here.
          if(isSuccess)
          {
                  string  close =    @"<script type='text/javascript'>
                                window.returnValue = true;
                                window.close();
                                </script>";
            base.Response.Write(close);
            }

        }
해설 (0)
해결책

UPDATE: 여러분의 의견을 모두 수렴하여 다음과 같은 해결책을 마련했습니다:

코드 비하인드에서:

protected void Page_Load(object sender, EventArgs e)    
{
    Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();");
}

aspx 페이지에서:

function CloseWindow() {
    window.close();
}
해설 (1)

포스트백은 페이지를 다시 로드하는 프로세스이므로 포스트백 후 페이지를 닫으려면 포스트백 중에 브라우저의 온로드 이벤트와 함께 실행되도록 window.close() 자바스크립트를 설정해야 하며, 일반적으로 ClientScript.RegisterStartupScript() 함수를 사용하여 이 작업을 수행합니다.

하지만 정말 이렇게 하고 싶으신가요? 페이지를 닫는 것은 사용자를 화나게 하는 경향이 있습니다.

해설 (0)

포스트백이 완료된 후 페이지를 닫는 시작 스크립트를 삽입해야 합니다.

ClientScript.RegisterStartupScript(typeof(Page), "closePage", "<script type='text/JavaScript'>window.close();</script>"); 
해설 (2)

방금 추가해야 할 수 있는 요소 (예를 들어) 이 등록 버튼을 애플리케이션임대서비스 (asp)::

OnClientClick="javascript:window.close();"

작동하잖아 완벽하게.

해설 (0)

그 다음은 코드를 사용하는 경우 라다이아스만거 하는 데 도움이 됩니다.

RadAjaxManager1.ResponseScripts.Add("window.opener.location.href = '../CaseManagement/LCCase.aspx?" + caseId + "'; 
window.close();");
해설 (0)

창 닫기 붙일 수 있는 것만으로도 button& onc리엔트클리크 수정표시와 이벤트 # 39 의 코드를 창이 닫힙니다.

해설 (0)

만날 수 없는 이유를 누구나 답을 제공한 작업 때문에 it& # 39 의 javascript 에서 연 처리를 위해 javascript 에서 단힌 페이지 것이어야 합니다.

이 때문에 많은 사람들이 사용하는 수도 있다 '또는' 발견사항 asp 질문 탐색하십시오 asp 페이지를 일부 asp: 하이퍼링크에 리디렉션하십시오 정렬하려면 문을 닫아야 하는. # 39, t, 따라서 이 방법을 사용하여 javascript 에서 닫으십시오 don& 리디렉션을 javascript 않습니다.

내가 찾은 내 애플리케이션 및 that& 간편하게 사용할 수 없으므로 '와', '' s # 39 나비가테우를 asp:Hyperlink.Attributes 온 클릭 '을 사용하는 이 창을 열려면' 추가 하이퍼링크에 자바 스크립트 의해 문을 닫아야 하는 javascript.

aspHyperlink.NavigateUrl = "https://www.google.com";

위의 나비가테우를 제거되고 부착합니다 대신 우리는 우리의 클릭 이벤트.

aspHyperlink.Attributes.Add("onclick", "javascript:openInNewTab('https://www.google.com');");

그 뒤에 있는 페이지의 url 열기 위해 javascript 코드를 제공하는 우리는 우리의 아스피퍼링크 라이언토

function openInNewTab(url) {
         var win = window.open(url, '_blank');
         win.focus();
     } 

이제 모든 페이지를 닫을 수 있도록 제공된 로페냉뉴타바 '' 를 통해 열려 있는 분입니다.

window.close();
해설 (0)
  protected void Button1_Click(object sender, EventArgs e)
  {
    Button1.Attributes.Add("onclick"," CloseWindow();");
  }

    <script type="text/javascript">
        function CloseWindow() 
      {
         window.close();
      }
    </script>
해설 (1)

단지 이 사용할 수 있습니다. 짧고 간편해집니다.

Response.Write("<script>window.close();</script>");

ᄋ "이번 도움이 됩니다.

해설 (0)

여는 경우 페이지의 자바스크립트 팝업 그럼

 Response.Write("<script>javascript:window.close();</script>");

작업을 할 것이다

해설 (0)

닫기 위한 windows 응용 프로그램, asp.net

  • 그냥 버튼를 드래그합니다 꽂으십시오 설계 페이지
  • 다음 주어진 코드 인사이드라면 기록하십시오 click 이벤트에 아래에 있다.

&quot. 티스트클로스 (); &quot.

예:

 private void button2_Click(object sender, EventArgs e)  
 {
        this.Close();
 }
해설 (1)