Элемент управления 'ctl00_TextBox1' типа 'TextBox' должен быть размещен внутри тега формы с runat = server - PullRequest
4 голосов
/ 22 марта 2010

При добавлении формы с запуском на сервере будут две формы с запуском сервера и возникает другая ошибка. Кто-нибудь может дать мне идею. Заранее благодарен.

Подробности ошибки следующие.

Элемент управления 'ctl00_TextBox1' типа 'TextBox' должен быть размещен внутри тега формы с runat = server. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Web.HttpException: элемент управления 'ctl00_TextBox1' типа 'TextBox' должен быть помещен в тег формы с runat = server.

Ошибка источника:

Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информацию о происхождении и местонахождении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[HttpException (0x80004005): управление 'ctl00_TextBox1' типа 'TextBox' должен быть помещен внутри тега формы с Runat = сервер.]
System.Web.UI.Page.VerifyRenderingInServerForm (Control контроль) + 2052287
System.Web.UI.WebControls.TextBox.AddAttributesToRender (HtmlTextWriter писатель) + 49
System.Web.UI.WebControls.WebControl.RenderBeginTag (HtmlTextWriter писатель) + 17
System.Web.UI.WebControls.TextBox.Render (HtmlTextWriter писатель) + 17
System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, адаптер ControlAdapter) + 25
System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, адаптер ControlAdapter) + 121
System.Web.UI.Control.RenderControl (HtmlTextWriter писатель) + 22 * ​​1023 * System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter писатель, сборник детей) + 199
System.Web.UI.Control.RenderChildren (HtmlTextWriter писатель) + 20
System.Web.UI.Control.Render (HtmlTextWriter писатель) + 7
System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, адаптер ControlAdapter) + 25
System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, адаптер ControlAdapter) + 121
System.Web.UI.Control.RenderControl (HtmlTextWriter писатель) + 22 * ​​1029 * System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter писатель, сборник детей) + 199
System.Web.UI.Control.RenderChildren (HtmlTextWriter писатель) + 20
System.Web.UI.Page.Render (HtmlTextWriter писатель) + 26
System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, адаптер ControlAdapter) + 25
System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, адаптер ControlAdapter) + 121
System.Web.UI.Control.RenderControl (HtmlTextWriter писатель) + 22 * ​​1035 * System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 2558

Информация о версии: Microsoft .NET Версия Framework: 2.0.50727.1873; ASP.NET версия: 2.0.50727.1433

Ответы [ 7 ]

9 голосов
/ 22 марта 2010

В ошибке указана проблема

Корректное

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

Некорректное

<asp:TextBox id="txt" runat="server" />
<form id="frm" runat="server">
</form>
4 голосов
/ 13 ноября 2012

Видя тег «master-pages», включенный в вопрос, эта ошибка может появиться, когда вы пытаетесь динамически добавлять текстовые поля (или, если уж на то пошло, любой элемент управления) на странице содержимого, которая использует главную страницу.

Только главная страница содержит форму с установленным runat = "server". На содержательных страницах есть только заполнители содержимого.

Чтобы динамически добавлять элементы управления на страницу содержимого, включите панель в нужный вам заполнитель содержимого на своей странице содержимого, а затем добавьте элементы управления в свой код. Например,

В вашем aspx-файле для страницы содержимого добавьте панель типа

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

Тогда в вашем коде позади,

        Dim txtbox As New textbox()
        Panel1.Controls.Add(txtbox)
1 голос
/ 22 марта 2010

Ошибка возникает из-за того, что вы поместили свой элемент управления с runat = "server" вне тега формы (также с runat = "server"). ASP.NET требует, чтобы все серверные элементы управления были в одной форме с атрибутом runat = "server".

0 голосов
/ 18 января 2017

Ошибка - элемент управления 'txtTo' типа 'TextBox', который должен быть помещен в тег формы с runat = server.

ERROR - это этот код.

      <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>
0 голосов
/ 26 января 2015

Вы не сказали, где находится этот элемент управления в вашей форме.

Если эта ошибка является результатом того, что другой элемент управления находится внутри элемента управления GridView, как я, то это также может вам помочь:

Элемент управления xxx типа LinkButton должен быть помещен в тег формы с помощью runat = server

0 голосов
/ 10 октября 2012

Я тоже столкнулся с этим.То, что я сделал, было просто добавлено PageWrapper, и весь код сайта был внутри.Например:

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

Что-то в этом роде.Надеюсь, это поможет.

0 голосов
/ 22 марта 2010

В стандартном ASP.Net вы можете иметь только одну форму. Это ограничение ASP.Net. Если вы собираетесь делать то, что требует 2 или более тегов <FORM>, вам понадобится MVC или что-то вроде

...