2017-12-13 7 views
0

aspx 페이지는 repeater가있는 repeater가있는 업데이트 패널이있는 Scheduler.aspx라고합니다. ItemTemplate iFrame이있는 ModalPopupExtender가 있습니다. 다른 aspx 페이지를 호출 코드의 다른 시스템에서 일부 업데이트를 확인하고 일부 업데이트가 일어 났을 사용자에게 알려줍니다, 나는asp.net modal with iframe, 자식 페이지 실행 자식로드 중 form_load 코드

을 찾는거야 무엇 Update.aspx 페이지의 Form_Load이 Update.aspx

Scheduler.aspx 페이지에서 update.aspx의 함수가로드되어 많은 수의 경고가 표시되지만 Modal 내 Update.aspx에 들어갈 때까지이를 원하지 않습니다.

기능은, (Page.IsPostback!) 경우에 있지만 어쨌든 페이지가 실제 또는 단지 상위 페이지의 로딩을로드하는 경우 내가 말할 수있다

Scheuler.aspx 예 마크 업

<asp:UpdatePanel ID="updMon" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
<ContentTemplate> 
    <asp:Repeater ID="rptMon" runat="server" OnItemCreated="rptMon_ItemCreated"> 
     <HeaderTemplate> 
     </HeaderTemplate> 
     <ItemTemplate> 
       <table style="width:100%;" class='<%# sTableClass(DataBinder.Eval(Container.DataItem, "DSC_ID").ToString()) %>'> 
        <tr> 
         <th> 
          <asp:LinkButton style="color:#717171" runat="server" id="LinkButton1" href="#"> 
          <%# DataBinder.Eval(Container.DataItem, "DSC_DELNAME") %></asp:LinkButton> 
         </th> 
        </tr> 
        <tr>...</tr> 
       </table> 
       <cc1:ModalPopupExtender ID="mpe1" runat="server" PopupControlID="pnlMon1" TargetControlID="LinkButton1" ></cc1:ModalPopupExtender> 
         <asp:Panel ID="pnlMon1" runat="server" CssClass="pnlBackGround" align="center" style = "display:none" > 
          <iframe id="iFrm1" class="iframeStyle" src='<%# "Update.aspx?id=" + Eval("DSC_ID").ToString() %>' runat="server"></iframe> 
           <div id="divClose" style="position:relative;top:-60px;width:200px;left:450px;"> 
            <asp:Button ID="btnCloseEdit1" runat="server" class="btn btn-primary" Text="Close" OnCommand="btnCloseEdit1_Command" CommandArgument='<%# Eval("DSC_ID").ToString() %>' /> 
           </div> 
         </asp:Panel> 
     </ItemTemplate> 
     <FooterTemplate></FooterTemplate> 
    </asp:Repeater> 
</ContentTemplate> 

의 src 링크가 내가 설정되어 있기 때문에

Update.aspx에서 업데이트 확인에 대한 호출이

protected void Page_Load(object sender, EventArgs e) 
{ 
     if (!Page.IsPostBack) 
     { 
      if (Request.QueryString["id"] != null) 
     { 
      sID = Request.QueryString["id"].ToString(); 
      CheckUpdates(sID); 
     } 
} 
+0

iframe's가 C를로드하지 않는 자바 스크립트 기능이 부모 페이지의 일부 클라이언트 측 이벤트까지 온? 부모 페이지 생성 중에'src :':'about : blank'를 설정하고 나중에 클라이언트에서 실제 값을 변경하십시오. – Igor

답변

0

같다 다른 모든 리소스처럼로드 될 것입니다. 모달 팝업은 브라우저에서 숨겨진 페이지의 마크 업이지만 리소스가 꺼내로드 할 수 없다는 것을 의미하지는 않습니다. 이 문제를 해결하는 한 가지 방법은 javascript를 사용하여 src 특성을 설정하는 것일뿐입니다.

0

건배 챕스, 그래서 이것은 내가 그것을했을 어떻게이 ... 다음

<iframe id="iFrm1" class="iframeStyle" src="about:blank" runat="server"></iframe> 

ItemCreated에서, 가장 좋은 방법하지만 난 리피터에 내 iframe이에 점점 생각할 수있는 유일한 방법은되지 않을 수도 있습니다 내가 추가 한 중계 ...에

protected void rptMon_ItemCreated(object sender, RepeaterItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 
      LinkButton _link = (LinkButton)e.Item.FindControl("LinkButton1"); 
      HtmlControl _frame = (HtmlControl)e.Item.FindControl("iFrm1"); 
      _link.Attributes.Add("onclick", "FrameSrc('MainContent_rptMon_" + _frame.ClientID + "'," + DataBinder.Eval(e.Item.DataItem, "DSC_ID") + ");return false;"); 
     } 
    } 

는 당신이`를 원하는

function FrameSrc(frame, id) { 
    document.getElementById(frame).src = 'ScheduleUpdate.aspx?id=' + id; 
    }