2012-06-12 2 views
0

웹 페이지에 여러 입력 텍스트 매개 변수가 있고 '제출'버튼이있는 경우 여러 iframe이로드됩니다. 처음 제출할 때 iframe이 제대로 실행됩니다. 문제는 이미로드 된 상태에서 제출 단추를 다시 클릭하면 iframe이 다시로드되고 브라우저에 흐림이 발생한다는 것입니다. 이미 버튼 클릭에로드 할 때 어떻게iframe의로드를 중지하는 방법 버튼 클릭시 이미로드 된 경우

<asp:LinkButton ID="lnkBTNSubmit" runat="server" OnClick="lnkBTNSubmit_Click" OnClientClick="return validate();"> 
</asp:LinkButton> 

내 .cs 코드

protected void lnkBTNSubmit_Click(object sender, EventArgs e) 
     { 
    SetReportsUrlsToIFrame(ObjSharedEntities.RequestID); 
    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ScriptRegistration", "setVisibility('hide', 'inline');", true); 
     } 

어떤 제안으로 .. Mycode을 iframe을로드를 중지 ?? 당신가 iframe이 이미로드 한 경우, 그럼 그냥 해제 버튼을 설정 버튼을 비활성화하려는 경우

답변

0

당신의 OnClick 방법

protected void lnkBTNSubmit_Click(object sender, EventArgs e) 
{ 
    if(ViewState["iframesDisplayed"] == null || !(bool)ViewState["iframesDisplayed"]) 
    { 
     SetReportsUrlsToIFrame(ObjSharedEntities.RequestID); 
     ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ScriptRegistration", "setVisibility('hide', 'inline');", true); 
     ViewState["iframesDisplayed"] = true; 
    } 

} 
0

으로 이것을보십시오. 버튼이 정상적으로 작동해야하고, 더 새로 고침 (흐림) 페이지에서 발생하지 않는 경우

protected void lnkBTNSubmit_Click(object sender, EventArgs e) 
    { 
SetReportsUrlsToIFrame(ObjSharedEntities.RequestID); 
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ScriptRegistration", "setVisibility('hide', 'inline');", true); 
lnkBTNSubmit.Enabled=false; 
//or lnkBTNSubmit.Visible=false; 
    } 

하지만, 대답은 없습니다 : NO WAY.
그 이유는 기본적이고 간단합니다. 물론 당신이 그것을 알고 있습니다, 나는 단지 여기를 넣어 답을 완성합니다.
제출 단추를 클릭하면 html (aspx) 페이지가 서버에 다시 게시되고 브라우저가 비게됩니다. 서버가 다시 게시를 수신하면 사용자의 요청에 따라 새로운 새 페이지를 생성하고 브라우저에 새 페이지를 보냅니다. 브라우저가 새 페이지를 받으면 새 컨텐츠를 디스패치합니다. 이 프로세스에서
을 클릭하면 브라우저에 표시된 내용이 이전 페이지 -> 비어 있음 -> 새 페이지로 변경됩니다. 그래서 흐림과 리프레쉬를 볼 수 있습니다.

+0

그가하고 싶은 것에 따라 그는 AJAX를 사용하고 패널을 업데이트 할 수 있습니다. – seekerOfKnowledge

관련 문제