2009-06-13 2 views
0

ASP.Net 2.0 사용외부 자바 스크립트 파일을 사용하여 HyperLink 컨트롤을 사용하여 ASP.Net에서 팝업 창을 어떻게 열 수 있습니까?

a. 상위 ASPX 페이지에서 HyperLink 컨트롤을 클릭 한 후 팝업 창에서 모달 (자식) 페이지를 열어야합니다.

b. 그런 다음 해당 팝업 창 (하위 페이지)이 닫히면 해당 팝업 창의 DataGrid에서 선택 항목을 가져 와서 그에 따라 상위 페이지를 새로 고쳐야합니다.

c. 작업 ..isn't

protected void Page_Load(object sender, EventArgs e) 
{ 
    ClientScript.RegisterClientScriptInclude(this.GetType(), "manualequipentryscript", "javascript.js"); 
    lnkSearchProducts.Attributes.Add("onclick", "LaunchProductSearch();"); 
} 

..

가 어떻게이 구현합니까 : 나는이 같은로드 오전 javascript.js 파일에서 열린 창을 자바 스크립트 코드를 가지고?

는 (나는 과거 2 시간 WWW를 검색하고 나에게 도움이 될 아무것도 콘크리트를 얻을 수 없었다에 의해 많은 결과를 내놓았다.)

안부, 을 밥

+1

아마도 코드가 "작동하지 않는 이유"를 분명히해야합니다. 어떤 오류가 발생합니까? – Cerebrus

+0

"일하지 않는다"는 것은 무엇을 의미합니까? 오류가 발생합니까? 그렇다면 페이지가로드되거나 버튼을 클릭 할 때입니까? 고객에게 전송되는 마크 업을 제공해주십시오. –

답변

1

먼저 이해해야 할 점은 브라우저는 일반적으로 IE의 주목할만한 예외가있는 모달 팝업 창을 허용하지 않는다는 것입니다. 모질라 기반의 브라우저는 창을 앞에두고 있지만 모달로 간주 할 수 없도록 지정할 수 있습니다. This article은이 현실을 확장합니다.

일반적인 해결 방법은 다른 창 대신 DIV에 모달 대화 상자를 표시하는 것입니다.

둘째, 팝업 창에서 부모 창으로 값을 전달하려면 Javascript 메서드 또는 서버 측 코드를 사용할 수 있습니다. 전자의 방법은 먼저 부모 창 (window.opener 속성 사용)에 액세스 한 다음 해당 부모 창 내의 요소에 대한 참조를 검색하는 것입니다. 예를 들어 this article을 참조하십시오.

서버 측 방법에서는 상태 값을 유지 한 다음 부모 창 (예 : window.opener.location.reload(); 사용)의 Javascript 새로 고침을 사용하여 해당 값을로드 할 수 있어야합니다.

마지막으로 제시 한 코드는 나에게 옳은 것처럼 보입니다. 당신이 얻는 오류 메시지를 알려주십시오. 단서를 제공 할 수 있습니다.

관련 문제