1

I have a user control that's got an image ..when I added it to a page that doesn't have a Master Page..the image was getting displayed alright but when I added the same user control to a page with a Master Page.the image vanished!....When I checked the Page source the image's path was there like this..

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

Image exists too! not that its gotten deleted or whatever..

Now idk where I read this but I did somewhere that when master page's added and user control's used..the ID s get changed or something..not sure..idk..if that's so..how on earth do IDs get changed and why and of what ? I just can't figure out what might have gone wrong..How do I test it ??

[EDIT] I checked the Page Source minutely again and guess what some div tag IDs have changed! ..I got this one div who's ID is "div1"..inside of this div is my Sprite image..now this "div1" is being changed to ...."ctl00_ContentPlaceHolder2_ctl00_Banner_ctl00_ContentPlaceHolder2_ctl00_Banner_div1" ...Banner is variable of type UserControl declared in my test page(I am adding UserControl in code behind)...some more Div's IDs are being changed in a similar way...now what do I do about these changing IDs? ... plz help..thnx**

Serenity
  • 4,968
  • 19
  • 65
  • 104
  • this question is duplicated (http://stackoverflow.com/questions/3912273/image-from-usercontrol-wont-display-on-webform/)- you could've sent me a comment and i would've debugged it with you. anyway, can you make a test page available online that i can debug? – Mouhannad Oct 19 '10 at 11:57
  • @Mouhannad :: heya..sry I forgot abt that ques of mine completely :/ it didnt even come up in Similar ques list..was thnking hard where I read abt changing IDs..and here it is..thnx to u...sorry couldn't post the test page code due to some reason...adding details here and in the previous ques too..hopefully u will read them :( – Serenity Oct 20 '10 at 04:20

2 Answers2

1

This answer is from Image from usercontrol won't display on webform

Since you found out the id change is what caused the problem, the only solution is to use classes to style your html markups:

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; }

If you still want to use the id to style your code, then you can either put the long generated id into your css code or upgrade to asp.net 4 which gives control over your asp.net ids, for example:

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

/>

There are 3rd party solutions to give your control over the ids for asp.net 3.5 and below but they are not out of the box and needs some fiddling.

Community
  • 1
  • 1
Mouhannad
  • 2,209
  • 1
  • 14
  • 12
  • here's what I tried http://stackoverflow.com/questions/3975148/image-wont-render-on-my-aspx-page-after-adding-master-page-if-not-changed-id-w – Serenity Oct 20 '10 at 06:50
0

Just use like that. /web1/img1.jpg And click to solution than properties page. There is a virtual page. Change it like "/".

Kadir
  • 3,094
  • 4
  • 37
  • 57