必须将带有'TextBox'类型的控件'ctl00_TextBox1'放在带有runat = server的表单标记内

Hir*_*iru 5 asp.net master-pages

当添加在服务器上运行的表单时,将有两个表单与runat服务器,并发生另一个错误.有人可以给我一个想法.提前谢谢.

错误的细节如下.

必须将带有'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(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.Con trol.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

版本信息:Microsoft .NET Framework版本:2.0.50727.1873; ASP.NET版本:2.0.50727.1433

Dus*_*ine 9

错误说明了问题

正确

<form id="frm" runat="server">
    <asp:TextBox id="txt" runat="server" />
</form>
Run Code Online (Sandbox Code Playgroud)

不正确

<asp:TextBox id="txt" runat="server" />
<form id="frm" runat="server">
</form>
Run Code Online (Sandbox Code Playgroud)


use*_*694 5

看到问题中包含的标签“母版页”,当您尝试在使用母版页的内容页中动态添加文本框(或就此而言,任何控件)时,可能会弹出此错误。

只有母版页包含设置了 runat="server" 的表单。内容页面只有内容占位符。

要将控件动态添加到内容页面,请在内容页面中所需的内容占位符中包含一个面板,然后在代码中向其添加控件。例如,

在内容页面的 aspx 文件中,添加一个面板,如

<asp:Panel ID="Panel1" runat="server">
</asp:Panel>   
Run Code Online (Sandbox Code Playgroud)

然后,在你后面的代码中,

        Dim txtbox As New textbox()
        Panel1.Controls.Add(txtbox)
Run Code Online (Sandbox Code Playgroud)


Jas*_*ong 0

使用标准 ASP.Net,您只能有一种表单。这是 ASP.Net 的限制。如果您要做的事情需要 2 个或更多<FORM>标签,那么您将需要 MVC 或类似的东西。