我正在使用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"> </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中的运行时错误:未定义“数组”
在同一个窗口中,我可以看到三个按钮: 休息,继续,忽略。
注意:页面加载中的断点运行没有问题。
调用堆栈显示:
匿名函数JScript
JScript全局代码JScript
Q1。 为什么会这样?
Q2。 我该如何解决?
答案 0 :(得分:1)
如果您具有以下配置,则会发生此错误:
<collapsible panel>
<iframe>
<script>
</script>
</iframe>
</collapsible panel>
当页面加载时,显示的面板会在加载javascript库之前强制iframe中的脚本通过DOM拖动。
解决方案是通过jQuery声明source属性:
open: function(){
document.getElementById("iframename").src = "page.aspx";
}
最终备注:
这个答案的所有学分都归花钱,他的评论指出了我正确的方向。
但是,我不想让这个问题“无人接听”,所以我决定从the linked post收集信息并将其汇总到一个帖子中。