2012-10-23 7 views
1

모달 대화 상자에서 .aspx 페이지를 열어야합니다. 여기에 내가 대화 열 사용하는 JS 코드입니다 : 내가는 JS 인수를 잡아 숨겨진 필드에 할당 한 다음 재 게시 할 수 있어야 내 validation.aspx 페이지에서내 window.dialogArguments가 정의되지 않았습니다.

 if (url) { 
      var fullPath = url + "/Validation.aspx"; 
     } 
     else { 
      alert("Could not find the location of the merge dialog. Please contact your System admin and have them update the configuration entity."); 
      return; 
     } 

     var features = "unadorned:yes;scroll:yes;resizable:yes;status:yes;dialogHeight:480px;dialogWidth:480px;"; 

     var args = { 
      selected: selectedIds, 
      page: pageIds, 
      fetchXml: xml, 
      entity: "xyz" 
     }; 

     window.showModalDialog(fullPath, args, features); 

, 그래서 나는 그를 사용할 수 있습니다 arg는 서버 측을 평가합니다.

window.onload = function(){   
    if (!window.dialogArguments) 
     return; 

     var args = window.dialogArguments; 
     ... 
} 

내가 웹을 통해 작업이 예의 톤을 보았다 :

여기 내에서 .aspx 페이지 내 JS 코드입니다. 하지만 ... 내 window.dialogArguments는 항상 내 .aspx 페이지에서 정의되지 않습니다. 뭐라 구요? 누구든지 어떤 생각이나 해결책을 가지고 있습니까?

+0

ps : 내 .aspx 페이지에 내 JS 코드가 있습니다 : –

+2

어떤 브라우저를 사용하고 있습니까? –

+0

Internet Explorer 9 –

답변

3

내 가정은 여기에 ASPX 대화 상자 페이지가 교차 도메인으로 열리고 있다는 것입니다.

이것은 부모 페이지가 하나의 도메인 (예 : http://abc/page.html)이고 자녀 대화 페이지가 http://def/dialog.html과 같은 다른 도메인에 있음을 의미합니다.

이 경우 dialogArguments 및 returnValue에 액세스하는 데 제한이있는 것처럼 보입니다. 예를 들어 this previous answer에 대한 의견을 확인하십시오.

관련 문제