2014-11-19 4 views
0
<asp:LinkButton ID="lnkBtnPrint" runat="server" OnClick="lnkBtnPrint_OnClick" Target="_blank"> 
        </asp:LinkButton> 

버튼이 있습니다. 클릭시 콘텐츠가있는 새 탭을 열어야합니다.ASP.NET의 새 탭으로 리디렉션

protected void lnkBtnPrint_OnClick(object sender, EventArgs e) 
    { 
     if (!string.IsNullOrEmpty(hdnSubmissionID.Value)) 
     { 
      SessionHelper.Set(SessionKey.SubmissionId, hdnSubmissionID.Value); 
      Response.Redirect(PublisherConfigurationManager.Navigation + "Printable_Submission_Document.aspx"); 
     } 
    } 

나는 내 경우에이 게시물 Opening a URL in a new tab에서 답을 적용하려고하지만, 단지 같은 왼쪽 상단 모서리에있는 텍스트 가져 오기 'window.open을 ...'.

_blank을 링크에 추가하면 도움이되지 않습니다.

+2

Welcome to StackOverflow! [해당 제목에 "태그에"태그를 포함해야합니까? "] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-the-titles)를 참조하십시오. 여기서 컨센서스는 다음과 같습니다. "아니, 그들은해서는 안된다". –

답변

0

트리거 된 클릭을 기반으로 동적으로 리디렉션됩니다. 이 시나리오에서는 샘플 코드가 완료된 경우 페이지로드시 데이터를 알고 있으므로 클릭하기 전에 HRef를 설정하도록 실제로 변경할 수 있다고 생각합니다.

대상을 그대로 유지하고 링크 버튼에서 onclick 이벤트를 제거하십시오. 이제 새 창에서 "동적"타겟을 열어야합니다.

+0

네 도움이됩니다. 그리고'lnkBtnPrint_OnClick'에서 변수 (예 : bool)를 검사하고 true 인 경우 간단한 리디렉션과 false 인 경우 새 탭에서 열 때 솔루션을 제안 할 수 있습니까? – demo

+0

페이지로드시이 변수를 확인할 수 있습니까? 그렇다면 해당 시점에 lnkBtnPrint를 수정하여 Target = "_ blanK"를 갖거나 갖지 않도록하십시오. 이것이 가능하지 않은 경우 케이스를 처리하는 데 필요한 자바 스크립트가 필요합니다. –

+0

LinkButton의 작동 방식에 대해 이해하지 못했지만 클라이언트 측 클릭이 이미 발생한 후 HRef를 설정하는 것이 좋습니다. 귀하가 보여준 코드는 사용자가 LinkButton에 의해 렌더링 된 "a"요소를 클릭하여 발생하는 포스트 백에서 실행될 것으로 예상됩니까? – Igor