Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не могу найти нужный контрол на странице / 13 сообщений из 13, страница 1 из 1
18.04.2006, 18:00
    #33674421
AndySolo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
Не могу найти нужный контрол на странице.
У меня страница Srching.aspx состоит из MasterPage и Content.
Есть кнопка <asp:Button ID="btnSend" runat="server" Text="Искать" PostBackUrl="~/Phones/Results.aspx" />. Потом в странице Results.aspx ищу в Page_Load нужный контрол:
if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
{
Content LoginControl = (Content)PreviousPage.FindControl("Content1");
if (LoginControl != null)
{
TextBox UserName = (TextBox)LoginControl.FindControl("SurTxtBox");
if (UserName != null)
Label1.Text = UserName.Text;
}
else
Label1.Text = "Не найдено.";
}
Строка (Content)PreviousPage.FindControl("Content1") ничего не находит. Пытался искать другие типы контролов - тоже ничего.
...
Рейтинг: 0 / 0
19.04.2006, 07:45
    #33675169
Humpy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
Попробуй if (PreviousPage is Srching) поискать по ((Srching)PreviousPage).Content1.UniqueID. Контролу, который отображается в контенте мастера в имя дописывается префикс, так же как в рипитере и других сходных местах.
Натуральное имя можно увидеть, в тесте страницы.
...
Рейтинг: 0 / 0
19.04.2006, 14:08
    #33676592
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
Предлагаю небольшой еврейский вариантик (т.к. и вправду, сложновато найти контрол - только что попробовал):
SourcePage:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<%@ Page Language="VB" MasterPageFile="~/Example/crosspage/MasterPage.master" Title="Untitled Page" %>

<script runat="server">
    
    Public ReadOnly Property TextBoxValue() As String
        Get
            Return TextBox1.Text
        End Get
    End Property
    
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Button ID="Button1" runat="server" PostBackUrl="~/Example/crosspage/Default2.aspx" Text="Button" />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</asp:Content>

TargetPage:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<%@ Page Language="VB" MasterPageFile="~/Example/crosspage/MasterPage.master" Title="Untitled Page" %>

<%@ PreviousPageType VirtualPath="~/Example/crosspage/Default.aspx" %>

<script runat="server">

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        
        Label1.Text = PreviousPage.TextBoxValue
        
    End Sub
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Label ID="Label1" runat="server"></asp:Label>
</asp:Content>

Ознакомиться с данным подходом можно тут ;)...
...
Рейтинг: 0 / 0
19.04.2006, 16:03
    #33677017
AndySolo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
Заработало! Работает вот так:
public static Control FindControl(System.Web.UI.Control ctrl, string search)
{
Control f = ctrl.FindControl(search);
if (f != null)
return f;
foreach (Control c in ctrl.Controls)
{
f = FindControl(c, search);
if (f != null)
return f;
}
return null;
}

public void GetControlsValue()
{
RadioButtonList CntrlFnd1 = (RadioButtonList)FindControl(PreviousPage, "AOrRadioBtnList");
if (CntrlFnd1 != null)
AOr = CntrlFnd1.SelectedItem.Value;
else
AOr = "";
}
...
Рейтинг: 0 / 0
20.04.2006, 01:07
    #33677884
Humpy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
Точно, это меня бес попутал. UniqueID лечит вызов __doPostBack, из скрипта с контента на мастере, а контрол искать - только так.
...
Рейтинг: 0 / 0
20.04.2006, 01:32
    #33677890
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
автора контрол искать - только так.
только рекурсией!!!???
...
Рейтинг: 0 / 0
20.04.2006, 02:55
    #33677913
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
+ переопределять родной метод страницы FindControl ???!!!
P.S. мдя...
...
Рейтинг: 0 / 0
20.04.2006, 03:59
    #33677926
Humpy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
vladgrig автора контрол искать - только так.
только рекурсией!!!???
Была пол-года назад задача - найти ручками контрол, на который показывает валидатор. Именно так и сделал, других вариантов не нашел, по крайней мере в .Net 1.1/VS 2003. Есть альтернативные предложения? Только без "!!!" :)
...
Рейтинг: 0 / 0
20.04.2006, 12:03
    #33678780
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
AndySoloУ меня страница Srching.aspx состоит из MasterPage и Content.

HumpyИменно так и сделал, других вариантов не нашел, по крайней мере в .Net 1.1/VS 2003. Есть альтернативные предложения?
to Humpy :
Есть, повнимательней читать о чём люди пишут...
...
Рейтинг: 0 / 0
20.04.2006, 12:20
    #33678869
Humpy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
vladgrig AndySoloУ меня страница Srching.aspx состоит из MasterPage и Content.

HumpyИменно так и сделал, других вариантов не нашел, по крайней мере в .Net 1.1/VS 2003. Есть альтернативные предложения?
to Humpy :
Есть, повнимательней читать о чём люди пишут...
Цитата AndySolo - это к чему? Ну, состоит.
Спрашивают как найти контрол, ищут по имени - вот и отвечаю по теме как найти контрол по имени. Возможно задача поставлена упрощенно, раз не было реакции на твой ответ.
Например, в случае, о котором я упоминал, требовалось найти контрол по имени, которое известно только в рантайм, т.к. страница чужая.
...
Рейтинг: 0 / 0
20.04.2006, 12:39
    #33678951
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
Странно, просто всё это - давеча, собирался руки отрывать MS за ТАКОЕ программирование, а сегодня - вроде и сам приветствуешь...
P.S. где логика? заметь - без (!!! ;) - можешь не отвечать на этот пост - то что ты пытаешься выйти из положения - это мне и так понятно...
...
Рейтинг: 0 / 0
20.04.2006, 13:11
    #33679075
Humpy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
MS никто ничего отрывать не собирался. Там был упрощенный пример, в жизни каждую фигню пихать отдельной переменной в сессию не есть хорошо, особенно если на проекте не один.
Поскольку автор твой ответ не воспринял, вполне разумно предположить, что он ему по тем или иным причинам не подходит - скажем, опять же, он привел упрощенный пример, и во время разработки название контрола неизвестно. Конечно, может и не смог разобраться или прошляпил :)
Я же увидел задачу, сходную с тем, что когда-то делал - отписался. Возможно, надо было сначала расспросить чем не понравился твой вариант.

Даже если все кругом неправы, это не повод для истерики. Давай не будем нервничать и дотянем до 60-ти? :)
...
Рейтинг: 0 / 0
20.04.2006, 13:52
    #33679245
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу найти нужный контрол на странице
авторВозможно, надо было сначала расспросить чем не понравился твой вариант.

Вариант не мой - а всё тех же MS - я только учусь у них - чего и всем советую...
авторопять же, он привел упрощенный пример, и во время разработки название контрола неизвестно
где ты это опять вычитал?
авторДавай не будем нервничать и дотянем до 60-ти? :)
Давай!!!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не могу найти нужный контрол на странице / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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