[英]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.