I have my UserControls in a subdirectory called usercontrols. In the code
for one of my UserControls I have the following:

Public Property adimage() As String
Get
Return lnkAdvertisement.ImageUrl
End Get
Set(ByVal value As String)
Response.Write(Me.Page.ResolveClientUrl(value) & "<br/>" &
ControlChars.NewLine)
lnkAdvertisement.ImageUrl = Me.Page.ResolveClientUrl(value)
System.Diagnostics.Debug.Write(Me.Page.ResolveClientUrl(value))
End Set
End Property


In the Page that uses this UserControl I pass it the value
"images/bannerad.jpg". However, when I open the page, the Response.Write()
and Debug.Write() lines both output 'images/bannerad.jpg' but the value that
gets assigned to lnkAdvertisement.ImageUrl is
'usercontrols/images/bannerad.jpg'. Why is a different value being returned
by Me.Page.ResolveClientUrl(value)? My main goal is to make the paths I pass
when using the UserControl to be treated as relative to the path of the Page
containing the UserControl, not the path of the UserControl. What should I
do? Thanks.
--
Nathan Sokalski
njsokalski@hotmail.com
http://www.nathansokalski.com/

Re: UserControls in a different directory by Gaurav

Gaurav
Sun Sep 24 04:07:43 CDT 2006

> In the Page that uses this UserControl I pass it the value
> "images/bannerad.jpg". However, when I open the page, the Response.Write()

> gets assigned to lnkAdvertisement.ImageUrl is
> 'usercontrols/images/bannerad.jpg'. Why is a different value being
> returned

Probably because your page is within a folder 'usercontrols' related to the
application-root.
Prefer using the form "~/images/bannerad.jpg" instead.


--
Happy Hacking,
Gaurav Vaish | http://www.mastergaurav.com
http://www.edujinionline.com
http://articles.edujinionline.com/webservices
-------------------



Re: UserControls in a different directory by Nathan

Nathan
Sun Sep 24 14:26:24 CDT 2006

Is there a way to get the directory that the Page using the control is in?
For example, if my Page was located at

http://localhost/home/extrapages/misc/mypage.aspx

it would return

http://localhost/home/extrapages/misc/

I need to be able to enter URLs relative to a page regardless of what
directory the page is in, and throwing the ~/ in front of the relative
directory only works if the page is located in the application root. Any
ideas? Thanks.
--
Nathan Sokalski
njsokalski@hotmail.com
http://www.nathansokalski.com/

"Gaurav Vaish (www.EduJiniOnline.com)"
<gaurav.vaish.nospam@nospam.gmail.com> wrote in message
news:ucDYAk73GHA.2420@TK2MSFTNGP02.phx.gbl...
>> In the Page that uses this UserControl I pass it the value
>> "images/bannerad.jpg". However, when I open the page, the
>> Response.Write()
>
>> gets assigned to lnkAdvertisement.ImageUrl is
>> 'usercontrols/images/bannerad.jpg'. Why is a different value being
>> returned
>
> Probably because your page is within a folder 'usercontrols' related to
> the application-root.
> Prefer using the form "~/images/bannerad.jpg" instead.
>
>
> --
> Happy Hacking,
> Gaurav Vaish | http://www.mastergaurav.com
> http://www.edujinionline.com
> http://articles.edujinionline.com/webservices
> -------------------
>
>



Re: UserControls in a different directory by Gaurav

Gaurav
Tue Sep 26 12:55:29 CDT 2006

> http://localhost/home/extrapages/misc/mypage.aspx
>
> it would return
>
> http://localhost/home/extrapages/misc/

look at: HttpRequest::Url, HttpRequest::PathInfo and HttpRequest::Path
You can obtain instance of HttpRequest from the Request property of the
page.



--
Happy Hacking,
Gaurav Vaish | http://www.mastergaurav.com
http://www.edujinionline.com
http://articles.edujinionline.com/webservices
-------------------