Прописывание alt в aspx

ShiJaG
На сайте с 12.03.2005
Offline
79
852

Достался мне движок автокаталога на aspx. И заметил я что в картинках не прописано alt.

Но вот самому исправить не получается (разработчик испарился).

Выглядит это так:

<asp:imagebutton id="img" runat="server" Width="800px"></asp:imagebutton>

Путем недолгих разбирательств нашел, что можно вставить alt с помощью выражения

AlternateText="тут пишу подпись к картинке"
Но вся загвоздка в том, что alt должен меняться. На странице над картинкой у меня указывается её название
<asp:Label id="Label2" runat="server" Height="11px"></asp:Label>
а в метатегах так
<title><%= myTitle %> :: подробный вид автозапчасти</title>

А вот как мне теперь в AlternateText это записать? Может кто знает...

.

Сапа - регистрируйся и работай (http://www.sape.ru/r.f46f3b76d3.php)
threak
На сайте с 02.03.2006
Offline
31
#1

Если код страницы реализован через code-behind (отдельный .cs файл), то просто в .cs-файле в Page_Load напишите

img.AlternateText = Label2.Text;

Если aspx-страница без код-бихайнд файла, то напишите в ней:

<script language="cs" runat="server">

void Page_Load(object sender, System.EventArgs e)
{
img.AlternateText = Label2.Text;
}
</script>
Куплю хорошие площадки под статьи ссылки с внутренних Промышленность/Строительство.
ShiJaG
На сайте с 12.03.2005
Offline
79
#2

threak

насколько я понял все выполняется не в "code-behind (отдельный .cs файл)", а picture.aspx.vb сама страница на которой все отображается называется picture.aspx, могу в личку прислать фрагменты кода из picture.aspx.vb, если это может быть полезно.

если же я просто вставляю код

<script language="cs" runat="server">

void Page_Load(object sender, System.EventArgs e)
{
img.AlternateText = Label2.Text;
}
</script>
то появляется ошибка: "Parser Error Message: Cannot use 'cs' because another language has been specified earlier in this page."
threak
На сайте с 02.03.2006
Offline
31
#3

picture.aspx.vb - это и есть code-behind файл, единственное отличие от указанного мной - то что он написан не на C#, а на visual basic .net. Но это не важно впринципе :)

Вобщем можете прислать мне ваши файлы - я разберусь. 3k[at]msx.ru

Хотя предварительно попробуйте заменить в строчке

<script language="cs" runat="server">

параметр language на vb.

ShiJaG
На сайте с 12.03.2005
Offline
79
#4

to threak

Вариант с vb не прокатил, но он и не нужен. Я наконец то разобрался что и куда. Спасибо. Все оказалось намного проще... ;) сделал так

Если код страницы реализован через code-behind (отдельный .cs файл), то просто в .cs-файле в Page_Load напишите
img.AlternateText = Label2.Text;

только без ; правда "обрамление" лейбла не работает.

Например если я пишу AlternateText="Подробный вид Label2 в рисунке", то там только лейбл и показывается... если есть мысли и по этому поводу буду рад :) :) :)

threak
На сайте с 02.03.2006
Offline
31
#5
ShiJaG:
to threak

Вариант с vb не прокатил, но он и не нужен. Я наконец то разобрался что и куда. Спасибо. Все оказалось намного проще... ;) сделал так



только без ; правда "обрамление" лейбла не работает.
Например если я пишу AlternateText="Подробный вид Label2 в рисунке", то там только лейбл и показывается... если есть мысли и по этому поводу буду рад :) :) :)

я на с# программлю просто. С бейсиком сталкиваюсь только тогда, когда нужно разобраться в логике написанной на нем программы.

А по поводу обрамления, если я правильно понял, вам нужно следующее:

img.AlternateText="Подробный вид " + Label2.Text + " в рисунке"

ShiJaG
На сайте с 12.03.2005
Offline
79
#6

Нет, не срабатывает. Выдается сообщение

Parser Error Message: The server tag is not well formed.
Наверноев синтаксисе дело... пофик, обойдусь пока и так...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий