[英]Control 'ctl00_txtDebug' of type 'TextBox' must be placed inside a form tag with runat=server
[英]Control 'ctl00_TextBox1' of type 'TextBox' must be placed inside a form tag with runat=server
當添加一個在服務器上運行的表單時,將有兩個在服務器上運行的表單,並且會發生另一個錯誤。 有人可以給我一個想法。 提前致謝。
錯誤的詳細信息如下。
'TextBox' 類型的控件 'ctl00_TextBox1' 必須放置在帶有 runat=server 的表單標簽內。 說明:在執行當前 Web 請求期間發生未處理的異常。 請查看堆棧跟蹤以獲取有關錯誤及其在代碼中的來源的更多信息。
異常詳細信息:System.Web.HttpException:“TextBox”類型的控件“ctl00_TextBox1”必須放置在具有 runat=server 的表單標記內。
源錯誤:
執行當前 Web 請求期間生成了未處理的異常。 可以使用下面的異常堆棧跟蹤來識別有關異常來源和位置的信息。
堆棧跟蹤:
[HttpException (0x80004005): 'TextBox' 類型的控件 'ctl00_TextBox1' 必須放置在帶有 runat=server 的表單標簽內。]
System.Web.UI.Page.VerifyRenderingInServerForm(控件控件) +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 適配器) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter 適配器) +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 適配器) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter 適配器) +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 適配器) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter 適配器) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2558版本信息:Microsoft .NET Framework 版本:2.0.50727.1873; ASP.NET 版本:2.0.50727.1433
錯誤說明了問題
正確
<form id="frm" runat="server">
<asp:TextBox id="txt" runat="server" />
</form>
不正確
<asp:TextBox id="txt" runat="server" />
<form id="frm" runat="server">
</form>
看到問題中包含的標記“master-pages”,當您嘗試在使用母版頁的內容頁面中動態添加文本框(或者就此而言,任何控件)時,可能會彈出此錯誤。
只有母版頁包含設置了runat =“server”的表單。 內容頁面只有內容占有者。
要動態地將控件添加到內容頁面,請在內容頁面中的所需contentplaceholder中包含一個面板,然后在代碼中向其添加控件。 例如,
在內容頁面的aspx文件中,添加一個面板
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
然后,在你的代碼背后,
Dim txtbox As New textbox()
Panel1.Controls.Add(txtbox)
發生錯誤是因為您將控件與runat =“server”放在表單標記之外(runat =“server”也是如此)。 ASP.NET要求使用runat =“server”屬性在一個表單中包含所有服務器控件。
我也碰到了這個。 我做了什么,只是添加了一個PageWrapper,所有網站的代碼都在里面。 例如:
<body>
<div ID="PageWrapper">
<form ID="form1" runat="server">
<div ID="Header">...</div>
<div ID="MainContent">...</div>
...
</form>
</div>
</body>
這樣的事情。 希望這可以幫助。
使用標准ASP.Net,您只能擁有一個表單。 這是ASP.Net的限制。 如果您要做的事情需要2個或更多<FORM>
標簽,那么您將需要MVC或類似的東西。
您沒有說明此控件在您的表單上的位置。
如果這個錯誤是由於我有一個GridView控件內的另一個控件的結果,那么這也可以幫助你:
錯誤是'TextBox'類型的控件'txtTo',它必須放在帶有runat = server的表單標簽內。
錯誤是本規范。
<tr>
<td class="style1">
<strong>To </strong>
</td>
<td class="style2">
<strong>: </strong>
</td>
<td class="style6">
<asp:TextBox ID="txtTo" runat="server" Width="475px"></asp:TextBox>
</td>
<td></td>
</tr>
控件和表單標簽都必須有runat="server"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.