0

Microsoft Visual Web Developer2010Expressを使用しています。

非表示の画像ボタンがあります。ユーザーが画像をアップロードすると、visible="true"に設定されます。コードは次のとおりです。

aspxファイル:

           <asp:UpdatePanel ID="upOne" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:ImageButton ID="btnImageOne" runat="server" CssClass="btnImage" 
                        Visible="false" onclick="btnImageOne_Click" />
                    <asp:LinkButton ID="btnDeleteOne" runat="server" CssClass="btnDelete" Visible="false"
                        onclick="btnDeleteOne_Click">&nbsp;</asp:LinkButton>
                </ContentTemplate>
            </asp:UpdatePanel>

表示されている場合、ユーザーがクリックすると、ボタンは次の ようになります。aspx.csファイル:

    protected void btnDeleteOne_Click(object sender, EventArgs e)
    {
        if (Session["fuOneFilename"] != null)
        {
            File.Delete(Server.MapPath("~/animals/temp/") + (string)Session["fuOneFilename"]);
            Session["fuOneFilename"] = null;
            DisplayUploadedPictures();

            if (Session["mainImageFilename"] == Session["fuOneFilename"])
            {
                Session["mainImageFilename"] = null;
                DisplayMainImage();
            }
        }
    }

aspx.csファイルの2番目の行にブレークポイントを配置しました。F5キーを押すと、アプリケーションはjQuery (変更されていない)ファイル内にあるJavaScript行で停止します。

j = Array.prototype.push

メッセージが表示されます:

Microsoft JScriptのランタイムエラー:「配列」が定義されていません

同じウィンドウに、[中断]、[続行]、[無視]の3つのボタンが表示されます。

注:ページロードのブレークポイントは問題なく実行されます。


コールスタックは次のように述べています。

匿名関数JScript

JScriptグローバルコードJScript


質問:

Q1。なぜこうなった?

Q2。どうすれば修正できますか?

4

1 に答える 1

1

Q1. なぜこうなった?

このエラーは、次の構成がある場合に発生します。

<collapsible panel>
    <iframe>
        <script>
        </script>
    </iframe>
</collapsible panel>

ページが読み込まれると、表示されているパネルは、javascript ライブラリが読み込まれる前に、iframe 内のスクリプトを DOM を介してドラッグするように強制します。


Q2. どうすれば修正できますか?

解決策は、jQuery を使用してソース属性を宣言することです。

open: function(){
    document.getElementById("iframename").src = "page.aspx";
}

最終的な注意:

この回答のすべての功績は、彼のコメントで正しい方向に私を指摘してくれたspenderに送られます。

ただし、この質問を「未回答」のままにしたくなかったので、リンクされた投稿から情報を収集して、1 つの投稿にまとめることにしました。

于 2012-09-19T09:11:26.737 に答える