0

Web ページに複数の入力テキスト ボックス パラメータがあり、ボタンの「送信」時に複数の iframe が読み込まれます。初めて送信すると、iframe が適切にロードされます。問題は、既に読み込まれている場合に、[送信] ボタンをもう一度クリックすると、iframe が再読み込みされ、ブラウザーでぼやけが発生することです。ボタンのクリックですでにロードされている場合、iframeのロードを停止する方法.. Mycode as

 <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);
        }

助言がありますか ??

4

2 に答える 2

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;
    }

}
于 2012-06-12T13:21:43.557 に答える
0

iframeが既に読み込まれているときにボタンを無効にする場合は、ボタンを無効に設定します。

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;
    }

ただし、ボタンを通常どおりに機能させる必要があり、ページで更新(ぼかし)が発生しない場合、答えは「NOWAY」です。
理由は基本的で単純です、もちろんあなたはそれを知っています、私は私の答えを完全にするためにそれをここに置きます。
送信ボタンをクリックすると、html(aspx)ページがサーバーにポストバックされ、ブラウザーは空になります。サーバーがポストバックを受信すると、サーバーは要求に応じて別の新しいページを生成し、新しいページをブラウザに送信します。ブラウザが新しいページを受信すると、新しいコンテンツが表示されなくなります。
このプロセスでは、ブラウザに表示されるコンテンツが次のように変化します:古いページ->空->新しいページ。ぼかしとリフレッシュが表示されます。

于 2012-06-12T13:43:38.347 に答える