2010-10-19 3 views
1

У меня есть пользовательский элемент управления, у которого есть изображение. Когда я добавил его на страницу, на которой нет главной страницы ... изображение отображалось в порядке, но когда я добавил тот же пользовательский элемент управления на страницу с Master page.The изображение исчезло! .... Когда я проверил источник страницы путь Образ был там, как это ..Изображение не отображается в пользовательском элементе управления

style = "background-image: url(http://localhost/web1/img1.jpg);" 

изображение тоже существует! не то, чтобы его удалили или что-то еще.

Теперь idk, где я это прочитал, но где-то я сделал что-то, когда использовались дополнительные и пользовательские элементы главной страницы. Идентификаторы меняются или что-то ... не уверен..ик .. если это так .. как на земле меняются идентификаторы и почему и что? Я просто не могу понять, что могло бы пойти не так. Как я его тестирую?

[EDIT] Я проверил страницу Source поминутно снова и угадать, что некоторые идентификаторы DIV тегов изменились! .. Я получил этот div, который является идентификатором «div1» .. внутри этого div это мое изображение спрайта. Теперь этот «div1» изменяется на ... »ctl00_ContentPlaceHolder2_ctl00_Banner_ctl00_ContentPlaceHolder2_ctl00_Banner_div1" ... Баннер является переменным типа UserControl объявленный на моей тестовой странице (я добавляю UserControl в код позади) ... некоторые другие идентификаторы Div меняются аналогичным образом ... теперь что мне делать с этими изменяющимися идентификаторами? ... plz help..thnx **

+0

этот вопрос дублируется (http://stackoverflow.com/questions/3912273/image-from-usercontrol-wont-display-on-webform/)- вы могли бы отправить мне комментарий, и я бы ' вы отлаживали его с собой. в любом случае, можете ли вы сделать тестовую страницу в Интернете, которую я могу отлаживать? – Mouhannad

+0

@Mouhannad :: heya..sry Я забыл об этом полностью:/он даже не появился в списке похожих вопросов .. трудно было найти, где я читаю abt change IDs .. и вот это ...nnx to u ... извините, не удалось опубликовать код тестовой страницы по какой-то причине ...добавив подробности здесь и в предыдущие вопросы тоже ... надеюсь, что вы прочтете их :( – Serenity

ответ

1

Этот ответ от Image from usercontrol won't display on webform

Поскольку вы обнаружили изменение идентификатора что вызвало проблему, единственное решения использовать классы стиль вашего HTML наценки:

HTML

//some people don't know this but you can also put the style directly 
into the asp.net control event if 
visual studio doesn't support it in 
the intellisense 
<asp:Label id="label1" CssClass="test" style="color:blue;" 
runat="server" /> 

CSS

.test { color:red; } 

Если вы все еще хотите использовать идентификатор, чтобы стиля вашего кода, то вы можете либо поставить длинный сгенерированный идентификатор в свой CSS кода или перейти на ASP.NET 4, который дает контроль над asp.net идентификаторы, , например:

<asp:Label id="label1" ClientIDMode="Static" runat="server" 

/>

есть 3 участника решения, чтобы дать ваш контроль над идентификаторами для asp.net 3.5 и ниже, но они не из т он коробку и нуждается в какой-то игре.

+0

вот что я пробовал http://stackoverflow.com/questions/3975148/image-wont-render-on-my-aspx-page-after -Добавление-мастер-страницы, если-не-изменен-ID-ш – Serenity

0

Просто используйте так. /web1/img1.jpg И нажмите, чтобы перейти к странице свойств. Существует виртуальная страница. Измените его как «/».

Смежные вопросы