调用堆栈仅包含外部代码

时间:2013-07-24 12:08:03

标签: c# asp.net .net visual-studio-2012

我希望当我点击另一个时变得可见。我是用jQuery做的,但我并不强大。我写了剧本:

    <script type="text/javascript">
        $(document).ready(function () {
            $('.visiblePanel').on('click', function () {
                $('.invisiblePanel').toggle();
            });
        });
    </script>

我通过С#:

完成的布局
Panel visiblePanel = new Panel();
visiblePanel.Style.Add("background-color", "red");
visiblePanel.CssClass = "visiblePanel";
Panel invisiblePanel = new Panel();
invisiblePanel.CssClass = "invisiblePanel";

当然,它没有用。但也是一个错误: enter image description here

没有脚本一切都很好。 我试图禁用Just My Code并得到它:

enter image description here 真的,我用Google搜索了该怎么做,但没有成功。你可以帮帮我吗?

P.S。在jsfiddle.net我的脚本工作。      http://jsfiddle.net/ZMxg8/

P.P.S:问题不在剧本中! VS发生了什么?什么意思“调用堆栈只包含外部代码”???

3 个答案:

答案 0 :(得分:2)

您的代码动态生成Panel但不包含在控制树中。

像这样更新你的代码:

Panel visiblePanel = new Panel();
visiblePanel.Style.Add("background-color", "red");
visiblePanel.CssClass = "visiblePanel";
this.Controls.Add(visiblePanel);

Panel invisiblePanel = new Panel();
invisiblePanel.CssClass = "invisiblePanel";    
this.Controls.Add(visiblePanel);

这应该可以解决问题。

但是,我建议你在aspx标记中声明这个面板。这将更容易维护。

答案 1 :(得分:0)

试试这段代码:

 $(document).ready(function () {
        $('.visiblePanel').click(function () {
            $('.invisiblePanel').toggle();
        });
    });

C#代码

        Panel visiblePanel = new Panel();
        visiblePanel.Style.Add("background-color", "red");
        visiblePanel.CssClass = "visiblePanel";
        visiblePanel.Width = 10;
        visiblePanel.Height = 10;
        this.Controls.Add(visiblePanel);
        Panel invisiblePanel = new Panel();
        invisiblePanel.Width = 10;
        invisiblePanel.Height = 10;
        invisiblePanel.CssClass = "invisiblePanel";
        invisiblePanel.Style.Add("background-color", "black");            
        this.Controls.Add(invisiblePanel);

答案 2 :(得分:0)

我找到了解决方案。史蒂夫B是对的。错误“调用堆栈仅包含外部代码”告诉我调试器无法调试JavaScript代码。并且“mscorlib.pdb未加载”是因为当我尝试修复第一个错误时,我在选项中禁用了某些内容。=)感谢大家的帮助。