将表单标记添加到ASP.Net Webforms页面时出现空堆栈错误

时间:2014-06-23 19:57:52

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

好的,所以,我来自ASP编程世界 - ASP.NET有点新,我使用的是Visual Studio 2013.

因此,当我只是尝试构建一个简单的表单时,我收到此错误消息:

Server Error in '/' Application.

Stack empty.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: Stack empty.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[InvalidOperationException: Stack empty.]
   System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) +52
   System.Collections.Generic.Stack`1.Pop() +6694385
   Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.EndRendering(TextWriter writer, Object renderedObject) +85
   System.Web.UI.RenderTraceListenerList.EndRendering(TextWriter writer, Object renderedObject) +58
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +142
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1386

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18408

这一切对世界意味着什么?

当我在<form>附近添加 <form id="form1" runat="server"> <asp:TextBox ID="post_feedback" runat="server" Height="100" Width="500" BackColor="#0066FF" Font-Bold="True" ForeColor="#FF9933" Wrap="False" TextMode="MultiLine" BorderColor="#000099" BorderStyle="Groove" BorderWidth="2"></asp:TextBox> </form> 标记时,该页面似乎已中断:

{{1}}

但是当我删除表单标签并“运行”它时,我没有那么长的堆栈错误。我还没有对* .aspx.cs文件做过任何事情;没有函数调用,没有。

那么世界上这一切意味着什么呢?我真的迷路了。谢谢。

4 个答案:

答案 0 :(得分:6)

在ASP.Net中,除非您在没有WebForms的情况下指定一个MVC站点,否则会有一个True Form TM 。您不会将自己的表单标记添加到页面。您可以使用Visual Studio帮助您为该页面放入的一个表单处理从回发创建的事件。

答案 1 :(得分:2)

我有一个 asp:Panel ,其属性为 DefaultButton =&#34; someButtonID&#34; 已定义。但是 someButtonID 并不存在!

我刚刚删除了 DefaultButton =&#34; someButtonID&#34;

答案 2 :(得分:1)

在asp.net中,您不应该自己使用form标记。所有页面都包含在表单标签中

答案 3 :(得分:1)

请多次检查是否有asp:DropDownList asp:ListItem Selected =“ True”。

<asp:DropDownList ID="ddlTest"   runat="server">     
    <asp:ListItem Text="Text1" Selected="True" Value="1"></asp:ListItem>
    <asp:ListItem Text="Text2" Value="2"></asp:ListItem>     
    <asp:ListItem Text="Text3" Value="3"></asp:ListItem>
    <asp:ListItem Text="Text4" Value="4"></asp:ListItem>
    <asp:ListItem Text="Text5" Selected="True" Value="5"></asp:ListItem>    
</asp:DropDownList>