Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обращение к Web контролам по их имени в цикле / 24 сообщений из 24, страница 1 из 1
26.01.2012, 18:42:25
    #37633704
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
Такой вопрос: на странице 20 контролов типа Image(Image1, Image2,...Image20). Как присвоить в цикле, обращаясь по имени контрола, значение для ImageURL(таким образом Image.ImageURL="...")?
И как заполнить таблицу контролов(типа Image) этими 20 контролами?
...
Рейтинг: 0 / 0
26.01.2012, 19:04:53
    #37633746
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
FindControl()
...
Рейтинг: 0 / 0
26.01.2012, 19:28:57
    #37633796
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
будь-те добры конкретнее потому что пробовал и почему-то не получается...
...
Рейтинг: 0 / 0
26.01.2012, 19:39:58
    #37633817
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriu,

покажите как пробовали ?
...
Рейтинг: 0 / 0
26.01.2012, 19:58:48
    #37633849
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
Andrey1306,

string k;
for (int i = 0; i < 20; i++)
{ k="Image"+i.Tostring;
iArray[i] = FindControl("Image1");
}

вот по памяти
...
Рейтинг: 0 / 0
26.01.2012, 20:01:38
    #37633855
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriu,

ошибка в 5-ом ряду вместо "Image1" - k
...
Рейтинг: 0 / 0
26.01.2012, 20:29:37
    #37633913
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
В конечном итоге не получается...
...
Рейтинг: 0 / 0
26.01.2012, 21:40:07
    #37633999
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriu,

Я не правильно вызвал FindControl() поэтому не получается. Помогите пожалуйста конкретным кодом.
...
Рейтинг: 0 / 0
26.01.2012, 21:42:56
    #37634006
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriuвот по памяти
По памяти программы не пишут. А гадать на кофейной гуще - так это к гадалке лучше обратитесь, а не на профорум.
...
Рейтинг: 0 / 0
26.01.2012, 22:39:58
    #37634077
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
Не проще-ли сделать, как делают люди уже второй десяток лет, у которых мозги не отягощены всякими глупостями? Например, с помощью яваскрипта присваивать элементу img свойство (или атрибут) src.
...
Рейтинг: 0 / 0
27.01.2012, 11:18:01
    #37634615
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
ShSergeНе проще-ли сделать, как делают люди уже второй десяток лет, у которых мозги не отягощены всякими глупостями? Например, с помощью яваскрипта присваивать элементу img свойство (или атрибут) src.
Это не глупость. Если пишу и есть такие технологии значит надо. Не указал точно код потому что не было компа с Visual Studio рядом. Вот в точности. Изображения называются Image1, Image2,...Image20.

Image[] ib = new Image[20];

for (int j = 1; j <= 20; j++)
{
Str = String.Concat("Image", Convert.ToString(j).Trim());
ib[j - 1] = (Image)FindControl(Str);////i;
TextBox1.Text = Str.Trim();

/*error*/ ib[j - 1].ImageUrl = "~/Imagini/Play.gif";

}

Выскакивает ошибка при компиляции в последнем ряду "NullReferenceException was unhandled by user code" ниже "Object reference not set to an instance of an object."
...
Рейтинг: 0 / 0
27.01.2012, 11:21:25
    #37634619
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
разметку покажи
...
Рейтинг: 0 / 0
27.01.2012, 11:43:20
    #37634662
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriu,

Код: c#
1.
ib[j - 1].ImageUrl = "~/Imagini/Play.gif";



а перед этим проверять нашелся ли контрол через FindControl() дотнет будет?
...
Рейтинг: 0 / 0
27.01.2012, 11:46:15
    #37634674
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
.разметку покажи
Пардон за вопрос - разметку чего?
...
Рейтинг: 0 / 0
27.01.2012, 11:54:15
    #37634693
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriu,

ну например разметку диска
или приусадебного участка
если это вам поможет
...
Рейтинг: 0 / 0
27.01.2012, 12:13:32
    #37634725
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
OracleLoverburiu,

Код: c#
1.
ib[j - 1].ImageUrl = "~/Imagini/Play.gif";



а перед этим проверять нашелся ли контрол через FindControl() дотнет будет?

ib[j - 1] = (Image)FindControl(Str);
Тут при проверке на нулл ничего не происходит.
if(ib[j-1]!=null)
ib[j - 1].ImageUrl = "~/Imagini/Play.gif";
Соответственно при ib[j - 1] = (Image)FindControl(Str); ib[j-1] не инициируется.
...
Рейтинг: 0 / 0
27.01.2012, 12:14:25
    #37634727
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
Только вот почему?
...
Рейтинг: 0 / 0
27.01.2012, 12:29:19
    #37634767
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriuТолько вот почему?

посмотри файрбагом есть ли элемент на страничке ID которого равно Image
...
Рейтинг: 0 / 0
27.01.2012, 12:33:06
    #37634776
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
OracleLoverburiuТолько вот почему?

посмотри файрбагом есть ли элемент на страничке ID которого равно Image

если обращаюсь так:

ib[0] = Image1; ib[1] = Image2;.... ib[19] = Image20; работает!!
...
Рейтинг: 0 / 0
27.01.2012, 12:41:42
    #37634806
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
buriu.разметку покажи
Пардон за вопрос - разметку чего?соответствующий кусок файла с расширением aspx

я смотрю пятница перестает быть томной :)
...
Рейтинг: 0 / 0
27.01.2012, 13:10:08
    #37634873
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
.соответствующий кусок файла с расширением aspx
Похоже, хтмл тоже сойдёт, что по правому клику на странице.
...
Рейтинг: 0 / 0
27.01.2012, 13:10:22
    #37634874
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
.buriuпропущено...

Пардон за вопрос - разметку чего?соответствующий кусок файла с расширением aspx

я смотрю пятница перестает быть томной :)

Этому коду на странице .aspx ничего не соответствует, так как это, как я понимаю, будет выполнятся на сервере, поэтому я не знаю что вам это даст. Но пожалуйста:

<asp:Table ID="Table1" runat="server" GridLines="Both" Height="879px"
CssClass="mainTab" Width="775px">
<asp:TableRow runat="server" HorizontalAlign="Center">

<asp:TableCell runat="server"><asp:Image ID="Image1"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image2"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image3"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image4"
runat="server"></asp:Image>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" HorizontalAlign="Center">
<asp:TableCell runat="server"><asp:Image ID="Image5"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image6"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image7"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image8"
runat="server"></asp:Image>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" HorizontalAlign="Center">
<asp:TableCell runat="server"><asp:Image ID="Image9"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image10"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image11"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image12"
runat="server"></asp:Image>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" HorizontalAlign="Center">
<asp:TableCell runat="server"><asp:Image ID="Image13"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image14"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image15"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image16"
runat="server"></asp:Image>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" HorizontalAlign="Center">
<asp:TableCell runat="server"><asp:Image ID="Image17"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image18"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image19"
runat="server"></asp:Image>
</asp:TableCell>
<asp:TableCell runat="server"><asp:Image ID="Image20"
runat="server"></asp:Image>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
...
Рейтинг: 0 / 0
27.01.2012, 13:24:16
    #37634905
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
аффтар ты гониш!
я взял твою разметку и твой код

и все сходу заработало!
вот все вместе
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void TestButton_Click(object sender, EventArgs e)
    {
        Image[] ib = new Image[20];

        string Str = "";
        for (int j = 1; j <= 20; j++)
        {
            Str = String.Concat("Image", Convert.ToString(j).Trim());
            ib[j - 1] = (Image)FindControl(Str);////i;
            /*error*/
            ib[j - 1].ImageUrl = "http://www.kolobok.us/smiles/light_skin/dash1.gif";
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:Button ID="TestButton" runat="server" Text="Test" OnClick="TestButton_Click" />

<asp:Table ID="Table1" runat="server" GridLines="Both" Height="879px" 
             CssClass="mainTab" Width="775px">
<asp:TableRow ID="TableRow1" runat="server" HorizontalAlign="Center">

                <asp:TableCell ID="TableCell1" runat="server"><asp:Image ID="Image1" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell2" runat="server"><asp:Image ID="Image2" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell3" runat="server"><asp:Image ID="Image3" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell4" runat="server"><asp:Image ID="Image4" 
                    runat="server"></asp:Image>
</asp:TableCell>
            </asp:TableRow>
            <asp:TableRow ID="TableRow2" runat="server" HorizontalAlign="Center">
                <asp:TableCell ID="TableCell5" runat="server"><asp:Image ID="Image5" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell6" runat="server"><asp:Image ID="Image6" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell7" runat="server"><asp:Image ID="Image7" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell8" runat="server"><asp:Image ID="Image8" 
                    runat="server"></asp:Image>
</asp:TableCell>
            </asp:TableRow>
            <asp:TableRow ID="TableRow3" runat="server" HorizontalAlign="Center">
                <asp:TableCell ID="TableCell9" runat="server"><asp:Image ID="Image9" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell10" runat="server"><asp:Image ID="Image10" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell11" runat="server"><asp:Image ID="Image11" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell12" runat="server"><asp:Image ID="Image12" 
                    runat="server"></asp:Image>
</asp:TableCell>
            </asp:TableRow>
            <asp:TableRow ID="TableRow4" runat="server" HorizontalAlign="Center">
                <asp:TableCell ID="TableCell13" runat="server"><asp:Image ID="Image13" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell14" runat="server"><asp:Image ID="Image14" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell15" runat="server"><asp:Image ID="Image15" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell16" runat="server"><asp:Image ID="Image16" 
                    runat="server"></asp:Image>
</asp:TableCell>
            </asp:TableRow>
            <asp:TableRow ID="TableRow5" runat="server" HorizontalAlign="Center">
                <asp:TableCell ID="TableCell17" runat="server"><asp:Image ID="Image17" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell18" runat="server"><asp:Image ID="Image18" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell19" runat="server"><asp:Image ID="Image19" 
                    runat="server"></asp:Image>
</asp:TableCell>
                <asp:TableCell ID="TableCell20" runat="server"><asp:Image ID="Image20" 
                    runat="server"></asp:Image>
</asp:TableCell>
            </asp:TableRow>
        </asp:Table>
            </form>
</body>
</html>

...
Рейтинг: 0 / 0
27.01.2012, 13:37:29
    #37634941
buriu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к Web контролам по их имени в цикле
.аффтар ты гониш!
я взял твою разметку и твой код

и все сходу заработало!

Блин что-то не ладное тогда. Спасибо.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обращение к Web контролам по их имени в цикле / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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