我希望当我点击另一个时变得可见。我是用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";
当然,它没有用。但也是一个错误:
没有脚本一切都很好。 我试图禁用Just My Code并得到它:
真的,我用Google搜索了该怎么做,但没有成功。你可以帮帮我吗?
P.S。在jsfiddle.net我的脚本工作。 http://jsfiddle.net/ZMxg8/
P.P.S:问题不在剧本中! VS发生了什么?什么意思“调用堆栈只包含外部代码”???答案 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未加载”是因为当我尝试修复第一个错误时,我在选项中禁用了某些内容。=)感谢大家的帮助。