2011-02-10 8 views
3

Это довольно простой вопрос, так как я новичок в asp.net. Я пытаюсь разработать страницу контакта с нами, и я получаю следующую ошибку.ASP.net Связаться с нами

«Control„ContentPlaceHolder1_nameBox“типа„TextBox“должны быть помещены внутри тега формы с RUNAT = сервер»

Ниже мой код до сих пор для этой страницы.

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="ContactUs.aspx.cs" Inherits="Craigavon_Aquatics.ContactUs" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
<h2> 
    Contact Us</h2> 
<p> 
    Please fill in the form below to contact us.</p> 

<p> 
    &nbsp;</p> 

</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
<table style="width: 100%"> 
    <tr> 
     <td> 
      Name: (Required)</td> 
    </tr> 
    <tr> 
     <td> 
<asp:TextBox ID="nameBox" runat="server" Width="278px"></asp:TextBox>     
     </td> 
    </tr> 
    <tr> 
     <td> 
      Email: (Required)</td> 
    </tr> 
    <tr> 
     <td> 

     </td> 
    </tr> 
</table> 
</asp:Content> 

ответ

4

Либо поместите обертку <form runat="Server"> в вашей главной странице вокруг ContentPlaceHolder, или на этой странице внутри тега <asp:Content> добавить <form runat="server">, которая окружает текущее содержание.

Site1.Master

<form runat="server"> 
    <asp:ContentPlaceHolder ...></asp:ContentPlaceHolder> 
</form> 

-ИЛИ-

ContactUs.aspx

<asp:Content ...> 
    <form runat="server"> 
    ...existing HTML code... 
    </form> 
</asp:Content> 
+0

+1: хорошее объяснение! – naveen

0

Найти управления с идентификатором 'ContentPlaceHolder1_nameBox' и место в между .aspx в форме/форме, чтобы избавиться от ошибки. Элементы управления ASP .Net Server должны находиться в тегах формы.

+0

спасибо, что получил приветствия за помощь – Inkey

0

Вам нужен <form runat="server"> // ваш код, элементы управления .. </form> тег, чтобы окружить ваш код. это, вероятно, отсутствует на главной странице

0

Вам нужно будет проверить и убедиться, что у вас есть форма, объявленная на главной странице. Поскольку я не вижу этого, тогда я должен был бы предположить, что нет такой, если эта ошибка наступит.

+0

да что это за проблема, спасибо verymuch – Inkey

0

Простейшим решением является обертывание тела внутри вашего MasterPage.
Но вы также можете переопределить его так.

public override void VerifyRenderingInServerForm(Control control) 
{ 
    return; 
} 
0

Все элементы управления в вашей главной странице должен быть внутри тега <form>...</form>, в том числе ваших заполнителей контента.

Это не имеет никакого отношения к «контактной странице». Это имеет фундаментальное значение для страниц ASP.NET в целом.

Смежные вопросы