Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск в дочерней странице из мастер-страницы / 25 сообщений из 33, страница 1 из 2
03.02.2013, 09:55
    #38135129
evgenybe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
Имется мастер-страница. В ней загружена дочерняя страница, в которой есть HiddenField hdnCaption
При просмотре кода страницы во время прогона на localhost я вижу, что имя этого контрола выглядит вот так: "ctl00$ctl00$ContentPlaceHolder1$cphPhrases$ hdnCaption "
Причем при прогоне на удаленном сервере (хостинге) это же имя выглядит по другому.

Вопрос:
Есть ли возможность из кода мастер-страницы найти этот контрол (Page.FindControl...) без использования столь длинного, к тому же меняющегося префикса?
...
Рейтинг: 0 / 0
03.02.2013, 11:43
    #38135169
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
evgenybe,

есть, FindControl вызывай у ContentPlaceHolder
примерно
Код: c#
1.
Control ctl = this.ContentPlaceHolder1.FindControl("hdnCaption");
...
Рейтинг: 0 / 0
03.02.2013, 12:55
    #38135209
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
Вообще плохая практика из мастерпейджа обращаться к aspx. Что за задача такая?
...
Рейтинг: 0 / 0
03.02.2013, 13:13
    #38135219
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
evgenybeИмется мастер-страница. В ней загружена дочерняя страница, в которой есть HiddenField hdnCaption
При просмотре кода страницы во время прогона на localhost я вижу, что имя этого контрола выглядит вот так: "ctl00$ctl00$ContentPlaceHolder1$cphPhrases$ hdnCaption "
Причем при прогоне на удаленном сервере (хостинге) это же имя выглядит по другому.

Вопрос:
Есть ли возможность из кода мастер-страницы найти этот контрол (Page.FindControl...) без использования столь длинного, к тому же меняющегося префикса?перечитал 5 раз
такое вчепятление шо тебе из JS обратитса надо
...
Рейтинг: 0 / 0
03.02.2013, 13:33
    #38135229
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
из JS обратитса надо

на стороне сервера узнать каков будет id на странице- Control.ClientID

А во избежание геморроя - добавить контролу уникальный класс и в javascript найти нужный элемент по классу
...
Рейтинг: 0 / 0
03.02.2013, 13:40
    #38135235
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
Изопропилиз JS обратитса надо

на стороне сервера узнать каков будет id на странице- Control.ClientID

А во избежание геморроя - добавить контролу уникальный класс и в javascript найти нужный элемент по классу
Открой для себя jquery.

$("input[id$=hdnCaption]")
...
Рейтинг: 0 / 0
03.02.2013, 13:54
    #38135240
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУ,

ты идиот?
...
Рейтинг: 0 / 0
03.02.2013, 13:58
    #38135246
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилМСУ, ты идиот?
Это так ты выражаешь свои чувства, когда тобой заткнули унитазную дырку?
...
Рейтинг: 0 / 0
03.02.2013, 14:05
    #38135252
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУИзопропилМСУ, ты идиот?
Это так ты выражаешь свои чувства, когда тобой заткнули унитазную дырку?

Ты не не идиот, ты говнокодер с амбициями
...
Рейтинг: 0 / 0
03.02.2013, 14:08
    #38135255
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилТы не не идиот, ты говнокодер с амбициями
По делу что-то скажешь, клоун?
...
Рейтинг: 0 / 0
03.02.2013, 14:15
    #38135257
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУ,

по делу - нехорошо вместо сравнения на равенство
сравнивать на совпадение один идентификатор и суффикс другого.
...
Рейтинг: 0 / 0
03.02.2013, 14:22
    #38135262
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилМСУ, по делу - нехорошо вместо сравнения на равенство
сравнивать на совпадение один идентификатор и суффикс другого.
Кто мешает создать уникальный идентификатор и искать на это совпадение? Ты же сам предложил уникальное именование класса. Только твой способ через жопу.
Только подумай перед ответом, чтобы опять в лужу не сесть.
...
Рейтинг: 0 / 0
03.02.2013, 14:40
    #38135265
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУ,

"мешает" - WebForms, заменяющие id="hdnCaption" на "ctl00$ctl00$ContentPlaceHolder1$cphPhrases$hdnCaption" для контролов runat="server"

(почему так получилось - понятно, но это к данному топику не относится)
...
Рейтинг: 0 / 0
03.02.2013, 14:41
    #38135266
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилМСУ, "мешает" - WebForms, заменяющие id="hdnCaption" на "ctl00$ctl00$ContentPlaceHolder1$cphPhrases$hdnCaption" для контролов runat="server"
Ты идиот?
...
Рейтинг: 0 / 0
03.02.2013, 14:47
    #38135269
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ууу оказывается тут тоже интересно :)
буду заходить
...
Рейтинг: 0 / 0
03.02.2013, 14:59
    #38135273
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУИзопропилМСУ, "мешает" - WebForms, заменяющие id="hdnCaption" на "ctl00$ctl00$ContentPlaceHolder1$cphPhrases$hdnCaption" для контролов runat="server"
Ты идиот?
нет.

решение -
Код: c#
1.
cntrl.ClientIDMode = System.Web.UI.ClientIDMode.Static;
...
Рейтинг: 0 / 0
03.02.2013, 15:06
    #38135275
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
Изопропил,

вам ничего не говорит селектор: $=
видимо нет
зря вы хамите не по делу
...
Рейтинг: 0 / 0
03.02.2013, 16:04
    #38135292
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
някаИзопропил,

вам ничего не говорит селектор: $=
видимо нет
зря вы хамите не по делу

по делу. И что характерно, знаю как он работает.
На всякий случай - цитирую http://api.jquery.com/category/selectors/attribute-selectors/
Attribute Ends With Selector [name$="value"]
Selects elements that have the specified attribute with a value ending exactly with a given string . The comparison is case sensitive.

На пальцах -
Код: html
1.
2.
3.
    <div id="$hdnCaption"></div>
    <div id="hdnCaption"></div>
    <div id="MhdnCaption"></div>


Код: javascript
1.
$("div[id$=hdnCaption]") 

- выберет все три элемента
...
Рейтинг: 0 / 0
03.02.2013, 16:56
    #38135313
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилМСУпропущено...

Ты идиот?
нет.

решение -
Код: c#
1.
cntrl.ClientIDMode = System.Web.UI.ClientIDMode.Static;



Ты не пробовал убить себя об стену с таким "решением"?
...
Рейтинг: 0 / 0
03.02.2013, 16:58
    #38135317
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУ,

а ты себя с сопоставлением по суффиксу ?
...
Рейтинг: 0 / 0
03.02.2013, 16:58
    #38135318
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилнякаИзопропил,

вам ничего не говорит селектор: $=
видимо нет
зря вы хамите не по делу

по делу. И что характерно, знаю как он работает.
На всякий случай - цитирую http://api.jquery.com/category/selectors/attribute-selectors/
Attribute Ends With Selector [name$="value"]
Selects elements that have the specified attribute with a value ending exactly with a given string . The comparison is case sensitive.

На пальцах -
Код: html
1.
2.
3.
    <div id="$hdnCaption"></div>
    <div id="hdnCaption"></div>
    <div id="MhdnCaption"></div>


Код: javascript
1.
$("div[id$=hdnCaption]") 

- выберет все три элемента

Про уникальность идентификатора я, видимо, говорил в воздух. Ты читаешь между строк?
...
Рейтинг: 0 / 0
03.02.2013, 17:01
    #38135320
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
МСУПро уникальность идентификатора я, видимо, говорил в воздух. Ты читаешь между строк?
все три идентификатора в примере - уникальны
...
Рейтинг: 0 / 0
03.02.2013, 17:30
    #38135334
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилМСУПро уникальность идентификатора я, видимо, говорил в воздух. Ты читаешь между строк?
все три идентификатора в примере - уникальны
Речь о уникальности паттерна, для тех кто в танке.
...
Рейтинг: 0 / 0
03.02.2013, 17:34
    #38135335
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
Изопропил,

чем принципиально ваше
cntrl.ClientIDMode = System.Web.UI.ClientIDMode.Static;
будет отличаться от
$("input[id$=hdnCaption]")
???
и в том и в другом случае следить за уникальностью придется более тщательно
...
Рейтинг: 0 / 0
03.02.2013, 17:35
    #38135336
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в дочерней странице из мастер-страницы
ИзопропилМСУ,

а ты себя с сопоставлением по суффиксу ?

Классическая задача, решается именно так в 99% случаев. Гибкое быстрое решение.
Клаент айди мод появился в 4 фреймворке.
Идентифицировать так контролы как ты показал - удел идиотов, которые сами себе расставляют грабли. Это касается не только этой задачи.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск в дочерней странице из мастер-страницы / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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