2010-03-22 33 views
3

當添加了在服務器上運行的表單時,會有兩個表單與runat服務器一起發生,並且會發生另一個錯誤。有人能給我一個主意嗎? Thankx提前。類型'TextBox'的控件'ctl00_TextBox1'必須放置在runat = server的表單標籤內

錯誤的詳細信息如下。

'TextBox'類型的控件'ctl00_TextBox1'必須放置在runat = server的窗體標籤中。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Web.HttpException:類型爲'TextBox'的控件'ctl00_TextBox1'必須放置在帶有runat = server的表單標記中。

源錯誤:

在當前web請求的執行過程中生成未處理的異常。關於異常的來源和位置的信息可以使用下面的異常堆棧跟蹤來標識。

堆棧跟蹤:

[HttpException (0x80004005): Control 'ctl00_TextBox1' of type 'TextBox' must be placed inside a form tag with runat=server.]
System.Web.UI.Page.VerifyRenderingInServerForm(Control control) +2052287
System.Web.UI.WebControls.TextBox.AddAttributesToRender(HtmlTextWriter writer) +49
System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer) +17
System.Web.UI.WebControls.TextBox.Render(HtmlTextWriter writer) +17
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +199
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +20
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +199
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +20
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2558

Version Information: Microsoft .NET Framework Version:2.0.50727.1873; ASP.NET Version:2.0.50727.1433

+1

如果爲您的問題發佈的任何答案有幫助,請接受它們。或者您也可以從您的結尾添加一個答案,您認爲解決了您的問題。 – Karan 2013-04-05 05:50:58

回答

0

使用標準ASP.Net,你只能有一種形式。這是ASP.Net的限制。如果你要做的事情需要2個或更多的<FORM>標籤,你需要MVC或其他的東西。

8

的錯誤狀態問題

正確

<form id="frm" runat="server"> 
    <asp:TextBox id="txt" runat="server" /> 
</form> 

錯誤

<asp:TextBox id="txt" runat="server" /> 
<form id="frm" runat="server"> 
</form> 
1

錯誤是因爲你下的控制與RUNAT = 「服務器」 的形式標記外(與RUNAT = 「服務器」)。 ASP.NET需要將所有服務器控件放在一個具有runat =「server」屬性的表單中。

0

我也遇到過這個。我所做的只是添加了一個PageWrapper,並且所有網站的代碼都進入了該網站。例如:

<body> 
<div ID="PageWrapper"> 
    <form ID="form1" runat="server"> 
     <div ID="Header">...</div> 
     <div ID="MainContent">...</div> 
     ... 
    </form> 
</div> 
</body> 

就是這樣的。希望這可以幫助。

4

看到問題中包含的標籤「主頁」,當您嘗試在使用母版頁的內容頁面中動態添加文本框(或者對於該事項,任何控件)時,可能會彈出此錯誤。

只有母版頁包含runat =「server」設置的表單。內容頁面只有內容佔位符。

要動態地將控件添加到內容頁面,請在您的內容頁面中的所需contentplaceholder中包含面板,然後在代碼中將控件添加到它。例如,

在內容頁面的aspx文件,添加一個面板像

<asp:Panel ID="Panel1" runat="server"> 
</asp:Panel> 

然後,在後面的代碼,

 Dim txtbox As New textbox() 
     Panel1.Controls.Add(txtbox) 
0

錯誤類型爲「文本框」控制「txtTo」它必須放置在runat = server的窗體標籤內。

錯誤是這個代碼。

 <tr> 
      <td class="style1"> 
       <strong>To </strong> 
      </td> 
      <td class="style2"> 
       <strong>: </strong> 
      </td> 
      <td class="style6"> 
       &nbsp; 
       <asp:TextBox ID="txtTo" runat="server" Width="475px"></asp:TextBox> 
      </td> 
      <td></td> 
     </tr> 
相關問題