Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка под ASP.NET > Не работает директива препроцессора |
Автор: Dedal 16.5.2007, 13:26 | ||||
Не уверен, что правильно сформулировал тему. Дело вот в чем. Есть ascx-компонент с таким вот кодом:
Насколько я понимаю <%#imagelink %> это директива препроцессора. Значение imagelink должно вычисляться в codebehind. И оно вычисляется, но не подставляется в генерируемый html. В итоге получается такой код:
В чем тут может быть дело? |
Автор: Mymik 16.5.2007, 23:12 |
Dedal, <%# %> работает только лишь в контролах типа GridView/DataGrid, Repeater, DataList. И осуществляет привязку к DataSource родительского объекта. В остальных частях страницы вы должны использовать <%= %> А так же метод или моле должны быть приведены к типу string. Вообще <%= %> распознается как Response.Write() ну а он принимает string. P.S. <%= %> работает и в GridView/DataGrid, Repeater, DataList. Применяется для обращения к элементам находящимся на данной странице или методам(/полям) находящимся в behind-code |
Автор: SpaceSpace 17.5.2007, 08:15 | ||
Грязный хак: Не делай так:
в бехайнде соответственно getStyle конструирует всю строку "background: url('imagelink') top left" Не делай ![]() |
Автор: Dedal 18.5.2007, 15:54 |
Mymik, SpaceSpace, спасибо, работает ![]() |