0

我很难调试我的作业。分配作为单个 aspx 页面到期。我相信我的困难部分是由于我无法使用断点在 Visual Studios 中正确调试我的 aspx 页面。

我的第一个问题:这可能吗?

我在网上发现的所有资源都说解决方案是创建一个单独的类文件。

在我开始这样做之前,我只是想确定没有其他方法可以在脚本块中使用断点。

我的下一个问题与内联脚本块的格式有关。我的特别困惑与全局变量的使用有关。由于它位于脚本标签中,当它们超出范围时,我需要注意什么不同之处吗?如果我在脚本的全局范围内声明一个 ArrayList 并在按钮单击时使用 Add 方法,结果是否与后面类似代码的结果相同?

这是一些简单的代码来证明我的困惑:

<script runat="server">

    ArrayList al = new ArrayList();

    protected void Button1_Click(object sender, EventArgs e)
    {
        al.Add(TextBox1.Text);
    }

</script>
4

4 回答 4

0

这是一个常见问题,已被多次询问。看

为什么我不能调试我的 asp.net Web 应用程序

为什么我不能再调试我的 asp.net web 项目了?

为什么我无法在 Visual Studio 中调试我的 ASP.NET 网站?

不幸的是,由于它可能来自多个来源,因此您几乎必须通过一堆可能的问题解决方案。

于 2013-09-26T21:17:21.130 回答
0

如果它没有被触发,请检查 Button1 是否仍然绑定了 Button1_Click 事件。当您继续使用代码时,您可能已经破坏了事件绑定。请检查 ig 事件仍然绑定到 Button1

于 2013-09-26T21:25:53.443 回答
0

在 ASPX 文件中调试代码绝对没有问题。我一直这样做。如果它真的可以编译,那么你应该能够在你的代码中设置断点。你还不清楚你到底遇到了什么问题?

关于您的第二个问题,“全局”变量在页面的整个生命周期中都存在。但请注意,页面仅在加载时才存在。页面呈现后,不再需要它。

于 2013-09-26T20:55:24.553 回答
0

来自知识库文章 303247

ASP.NET 支持两种方法来创作页面:

  • 内嵌代码
  • 代码隐藏

内嵌代码

内嵌代码是直接嵌入在 ASP.NET 页面中的代码。以下代码表示包含内联代码的示例 ASP.NET 页面:

myinlinecode.aspx

<%@ Language=C# %>
<HTML>
<script runat="server" language="C#">
void MyButton_OnClick(Object sender, EventArgs e)
{
  MyLabel.Text = MyTextbox.Text.ToString();
}
</script>
<body>
  <form id="MyForm" runat="server">
     <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
     <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
     <asp:label id="MyLabel" runat="server"></asp:label>
  </form>
</body>
</HTML>

这个例子已经完成,如果你想要/需要一些全局的东西,一个好东西是在你的 HTML 中使用额外的控件。

考虑这个修改版的 MS 代码:

<%@ Language=C# %>
<HTML>
<script runat="server" language="C#">
void MyButton_OnClick(Object sender, EventArgs e)
{
  MyLabel.Text = MyTextbox.Text.ToString();
  hidden1.Value = DateTime.Now.ToString();
}
void Button2_Clicked(Object sender, EventArgs e)
{
  MyLabel.Text = string.Format("MyButton was clicked at {0}.", hidden1.Value);
}
</script>
<body>
  <form id="MyForm" runat="server">
     <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
     <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
     <asp:label id="MyLabel" runat="server"></asp:label>
     <hr/>
     <asp:HiddenField ID="hidden1" runat="server" />
     <asp:button id="Button2" text="Button2" OnClick="Button2_Clicked" runat="server"></asp:button>
  </form>
</body>
</HTML>

请注意,asp.HiddenField用于在 HTML 页面上存储数据,以后可以访问它。

如果您想了解更多相关信息,请使用“aspx in-line code”进行搜索。

于 2013-09-26T21:24:49.013 回答