Re: Using ~/ path for to link a CSS page?



Howdy,

Workaround 4:
<link href="<%=ResolveClientUrl("~/Css/style.css") %>" type="text/css" />
ResolveClientUrl method is invented for such purposes.
--
Milosz


"Jialiang Ge [MSFT]" wrote:

Hello,

From your post, my understanding on this issue is: you wonder how to
resolve the root directory when we link to a style ***. If I'm off base,
please feel free to let me know.

According to the MSDN article: ASP.NET Web Site Paths
http://msdn2.microsoft.com/en-us/library/ms178116.aspx
"ASP.NET includes the Web application root operator (~), which you can use
when specifying a path in *server controls*. ASP.NET resolves the ~
operator to the root of the current application. You can use the ~ operator
in conjunction with folders to specify a path that is based on the current
root."
Therefore, as Cowboy replied, the link is not attached to a server control,
and the operator '~' cannot be resolved as expected.

Here are two workarounds for your reference:

Workaround 1: Declare 'runat=server' for the <head> element, and use '~'
inside it. For instance,
<head runat="server">
<title>Untitled Page</title>
<link href="~/Css/style.css" rel="style***" type="text/css" />
</head>

Workaround 2:
We can link to the style *** with some server side codes
(quoted from
http://www.pluralsight.com/blogs/ted/archive/2005/08/31/14437.aspx)
public static void AddLinkedStyle***(Page page, string style***)
{
HtmlLink link = new HtmlLink();
link.Href = page.ResolveUrl(style***);
link1.Attributes["text"] = "text/css";
link1.Attributes["rel"] = "style***";

page.Header.Controls.Add(link);
}
MyClass.AddLinkedStyle***(this, "~/css/my.css");

Please let me know if you have any other concerns, or need anything else.

Regards,
Jialiang Ge (jialge@xxxxxxxxxxxxxxxxxxxx, remove 'online.')
Microsoft Online Community Support

==================================================
For MSDN subscribers whose posts are left unanswered, please check this
document: http://blogs.msdn.com/msdnts/pages/postingAlias.aspx

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications. If you are using Outlook Express/Windows Mail, please make sure
you clear the check box "Tools/Options/Read: Get 300 headers at a time" to
see your reply promptly.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.


.