страница может иметь только один тег формы на стороне сервера - PullRequest
17 голосов
/ 26 мая 2010

Я использую главную страницу, и при запуске этой страницы отображается следующее сообщение об ошибке:

страница может иметь только один тег формы на стороне сервера

Как мне решить эту проблему?

Ответы [ 6 ]

19 голосов
/ 18 ноября 2011

Я думаю, что вы сделали так:

<asp:Content ID="Content2" ContentPlaceHolderID="MasterContent" runat="server">
  <form id="form1" runat="server">

 </form>
</asp:Content>

Тег формы не нужен. потому что у вас уже есть тот же тег на главной странице.

Итак, вы просто удалите это, и оно должно работать.

9 голосов
/ 26 мая 2010

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

Вы можете иметь только один.

4 голосов
/ 26 мая 2010

Содержит ли ваша страница эти

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="Server">
</asp:content>

теги, и все ли в них элементы управления? Вы должны иметь только форму теги в MasterPage.


Вот некоторые из моих понимание и предложение:

HTML-элемент может быть помещен в тело HTML-страницы, а HTML-страница делает поддержка нескольких элементов, однако они не могут быть вложены каждый Другое, вы можете найти подробное описание в W3C HTML спецификация:

Элемент FORM

http://www.w3.org/MarkUp/html3/forms.html

А что касается страницы веб-формы ASP.NET, она основана на одной серверной форме элемент, который содержит все элементы управления внутри него, поэтому, как правило, мы не делаем Рекомендуем поставить несколько элементов. Тем не менее, это все еще поддерживается на странице ASP.NET (главная страница), и я думаю, что проблема в вашем главная страница должна быть вызвана неподдерживаемым вложенным элементом, и несколько на одном уровне должно быть в порядке. например:

Кроме того, если вы хотите сделать через несколько форм, просто сделайте наш постинга на нескольких страницах, я думаю, вы можете рассмотреть возможность использования нового функция для публикации на нескольких страницах в ASP.NET 2.0. Это может помочь нам использовать кнопку контролирует отправку на разные страницы без использования нескольких форм страница:

Размещение нескольких страниц на веб-страницах ASP.NET

http://msdn2.microsoft.com/en-us/lib...39(VS.80).aspx

http://msdn2.microsoft.com/en-us/lib...40(VS.80).aspx

3 голосов
/ 26 мая 2010

Использовать только один тег формы на стороне сервера.

Проверьте свою главную страницу на <form runat="server"> - там должен быть только один.

Зачем вам больше одного?

1 голос
/ 19 сентября 2013

Иногда при рендеринге текущей страницы, как показано в приведенном ниже коде, генерируется та же ошибка

StringWriter str_wrt = new StringWriter();
HtmlTextWriter html_wrt = new HtmlTextWriter(str_wrt);
Page.RenderControl(html_wrt);
String HTML = str_wrt.ToString();

так как мы можем это отсортировать?

0 голосов
/ 31 января 2019

удалите "runat =" server "" из тега "form", тогда он определенно будет работать.

...