powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
19 сообщений из 19, страница 1 из 1
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206140
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Воюю со следующей проблемой. Создал шаблон-страничку MasterPage.master и поместил на неё компонент TextBox. Потом создал Web-страничку (.aspx) и подключаю шаблон-страничку. На Web-страничку кидаю компонент Button и по событию нажатия на неё хочу считать значение с этого TextBox'а, но пишет ошибку "Имя 'TextBox1' отсутствует в текущем контексте". Почему этот компонент не доступен?
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206165
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
meola Почему этот компонент не доступен?
потому что
meolaСоздал шаблон-страничку MasterPage.master и поместил на неё компонент TextBox.
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206215
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zoriameola Почему этот компонент не доступен?
потому что
meolaСоздал шаблон-страничку MasterPage.master и поместил на неё компонент TextBox.
И что получить доступ к TextBox'у так нельзя?
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206228
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Request["name текстбокса"]
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206237
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeRequest["name текстбокса"]
Только так не надо.
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206278
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я просто хочу понять как работать с шаблонами. Как я понимаю они служат для разделения области отображения данных от самих данных, но вот как понять, контрол TextBox является ли "данными" или "данными" является TextBox.Text? То есть как правильно:
1) на master-страничке размещать ContextPlaceHolder, а на aspx-страничке уже в Content вставлять компонент TextBox и уже потом в него по необходимости вставлять текст или же
2) на master-страничке размещать TextBox, а на aspx-страничке уже работать с ним, загружая в него по необходимости какой-нить текст
?
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206317
няка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все зависит от ваших задач, тут нет правильного или не правильного
а для доступа к элементам мастер страницы у страницы есть свойство Page.Master
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206340
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
meola,

а для чего, по-Вашему, придумали MasterPage ?
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206361
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
meola,

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

Обращаться к контролу на мастере можно несколькими путями - например, используя конструкцию
Master.FindControl("TextBoxID") - недостаток в данном случае - если вы на мастере измените этот TextBoxID, прийдется идти исправлять это во всех страницах, где использовалось, при этом ошибка вылезет только в момент вызова страницы а не при компиляции - можно слегка отмодернизировать, сделав глобальную переменную для TextBoxID и ее уже использовать при поиске контрола.
Можно cделать дополнительное свойство на мастере - например
public TextBox MasterTextBox{get{return TextBox1;}}
и обращаться на странице через (Master as MyMasterPageClass).MasterTextBox.

можно перенести описание текстбокса из дизайн-файла в файл класса и сделать его вместо protected public, тогда можно будет обращаться к нему из контент-страницы просто (Master as MyMasterPageClass).TextBox1

А если использовать строготипизированные страницы - добавить <%@ MasterType VirtualPath="~/Site1.Master" %>
тогда отпадет необходимость приведения Мастерстраницы к нужному классу и можно напрямую обращаться к Master.TextBox1
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206391
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaшаблоны используют например, для того, чтобы придать всем страницам одинаковый видя почему-то подумал, что автор паттерны шаблонами называет
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206528
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zoriameola,

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

Обращаться к контролу на мастере можно несколькими путями - например, используя конструкцию
Master.FindControl("TextBoxID") - недостаток в данном случае - если вы на мастере измените этот TextBoxID, прийдется идти исправлять это во всех страницах, где использовалось, при этом ошибка вылезет только в момент вызова страницы а не при компиляции - можно слегка отмодернизировать, сделав глобальную переменную для TextBoxID и ее уже использовать при поиске контрола.
Можно cделать дополнительное свойство на мастере - например
public TextBox MasterTextBox{get{return TextBox1;}}
и обращаться на странице через (Master as MyMasterPageClass).MasterTextBox.

можно перенести описание текстбокса из дизайн-файла в файл класса и сделать его вместо protected public, тогда можно будет обращаться к нему из контент-страницы просто (Master as MyMasterPageClass).TextBox1

А если использовать строготипизированные страницы - добавить <%@ MasterType VirtualPath="~/Site1.Master" %>
тогда отпадет необходимость приведения Мастерстраницы к нужному классу и можно напрямую обращаться к Master.TextBox1
Огромное спасибо за столь развернутый ответ, Zoria! Попробую сначала через FindControl достучаться, но всё равно не понятно, зачем нужен ContentPlaceHolder, ведь даже если взять такой Web-ресурс как "Форум", где внизу как обычно ссылки (1,2,3...) на страницы форума, то на самом то деле asp-страница там одна (она получает лишь разные переменные в строке запроса), и логически отпадает необходимость на всё страницы форума помещать например то же меню
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206552
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаешь - читай: Главные страницы ASP.NET .
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206783
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНе понимаешь - читай: Главные страницы ASP.NET .

Как только не называют мастер страницы. В переводе Эспозито их называют "эталонными" :)
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37206985
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим следующую ситуацию. Есть master-страница с одним элементом ContentPlaceHolder, в который я помещаю таблицу с 3-мя строками и 1-им столбцом и в эти ячейки помещаю кнопки типа Button, то есть получаю простое меню. Есть aspx-страница с компонентом TextBox, в который помещается имя нажатой кнопки в меню и всё. Вопрос: почему при нажатии на кнопку ОБНОВЛЯЕТСЯ (ГРУЗИТСЯ) вся aspx-страница целиком? Ведь данные в master-странице я как понимаю статические....Даже если простой текст помещу на главной странице, на наследуемых такая же тема, при каком-то событии обновляется почему-то вся страница, я думал что текст на странице шаблона не имеет смысла перерисовывать по умолчанию на наследуемых страницах, странно......
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37207002
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все неправильно.
изучите http://msdn.microsoft.com/ru-ru/library/ms178472.aspx а потом еще раз про 10491120
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37207387
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaвсе неправильно.
изучите http://msdn.microsoft.com/ru-ru/library/ms178472.aspx а потом еще раз про 10491120
Нет, чтобы ответить топикстартеру, что элементы формы размещать на мастерпаже не совсем правильно, потому что мастерпажа предназначена для совершенно другого. Ну, типа, общий дизайн и т.д. .
meola Вопрос: почему при нажатии на кнопку ОБНОВЛЯЕТСЯ (ГРУЗИТСЯ) вся aspx-страница целиком?

Так и должно быть. А Вы что хотите? Тогда задавайте конкретный вопрос.
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37207391
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
смотря какие элементы. может это дропдаун с выбором языка, или еще чего :)
...
Рейтинг: 0 / 0
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #37207422
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaShSerge
смотря какие элементы. может это дропдаун с выбором языка, или еще чего :)
Не подумал. Хотя, для языка стандартные штучки имеются. Мы же знаем, что любой браузер это дело в запросе передаёт. Впрочем, фиг знает, может, для чего-то и нужно. То есть, я даже не могу придумать для чего.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
    #39176499
Бумбокс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, а если задача обратная ?
Иными словами проблема в том, что из MasterPage.master.cs хотим взять string str = TextBox1.text; а этот TextBox1 принадлежит странице контента. (Компилятор говорит, что отсутствует в контексте этот TextBox1).
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему не доступен компонент TextBox (размещенный на MasterPage.master ) в aspx-странице?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]