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

Я прочитал другие результаты, но ничего конкретного для моей проблемы.

Я понимаю, что наличие двух тегов формы с runat = "server" не работает.Моя проблема в том, что мне требуется форма в файле мастер-страницы для обработки меню и тому подобного, а для «дочерней» страницы моего приложения также требуется тег формы для обработки его операций.

Я пытался удалитьтег формы на моих «дочерних» страницах, но выделенный код не видит, что я использую тег формы на главной странице.Из-за этого происходит сбой компиляции («имя« form1 »не существует в текущем контексте»)

Как мне достичь цели, чтобы мои меню на главной странице работали, сохраняя при этом моего «ребенка»страницы с ошибками при компиляции?

1 Ответ

4 голосов
/ 17 мая 2011

Если вы идете по пути удаления всех тегов формы со всех дочерних страниц (что я бы предложил), вы можете добавить ссылку на тег формы главной страницы как свойство, к которому могут обращаться дочерние страницы.Вот код мастер-страницы:

public HtmlForm form1 {
    get { return this.form1; }
}

Тогда вы можете ссылаться на дочернюю страницу:

public void MyMethod() {
    HtmlForm theForm = ((MyMasterPageType)this.Master).form1;
    theForm.Controls.Add(...);
}

И если вы установите MasterPageType на дочерних страницах, вы можете ссылатьсякаталог с this.Master.form1 (добавьте это на страницу разметки дочерней страницы):

<%@ MasterType TypeName="MyMasterPageType" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...