0

我正在使用 Microsoft Visual Web Developer 2010 Express。

我有一个隐藏的图像按钮,如果用户上传图像,则设置为 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 文件的第二行放置了一个断点。按下 F5 后,应用程序将在位于 jQuery (未修改)文件内的 JavaScript 行中停止。

j = Array.prototype.push

我收到以下消息:

Microsoft JScript 中的运行时错误:未定义“数组”

在同一个窗口中,我可以看到三个按钮:Break、Continue、Ignore。

注意:页面加载中的断点运行没有问题。


调用堆栈说:

匿名函数 JScript

JScript 全局代码 JScript


问题:

Q1。为什么会这样?

Q2。我该如何解决?

4

1 回答 1

1

Q1。为什么会这样?

如果您具有以下配置,则会发生此错误:

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

当页面加载时,显示的面板会在加载 javascript 库之前强制将 iframe 内的脚本拖过 DOM。


Q2。我该如何解决?

解决方法是通过jQuery声明source属性:

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

最后说明:

这个答案的所有功劳都归于spender,他的评论为我指明了正确的方向。

但是,我不想让这个问题“悬而未决”,所以我决定从链接的帖子中收集信息并将其组合成一个帖子。

于 2012-09-19T09:11:26.737 回答