<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aen Sidhe&#039;s Weblog &#187; master page</title>
	<atom:link href="http://www.aensidhe.ru/tag/master-page/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aensidhe.ru</link>
	<description>Просто блог.</description>
	<lastBuildDate>Fri, 03 Feb 2012 10:13:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>master page vs. javascript</title>
		<link>http://www.aensidhe.ru/2008/12/26/master-page-vs-javascript/</link>
		<comments>http://www.aensidhe.ru/2008/12/26/master-page-vs-javascript/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 07:37:33 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[asp .net]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[master page]]></category>
		<category><![CDATA[trick]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=188</guid>
		<description><![CDATA[Итак, небольшой туториал на тему ASP .NET. Там есть master-page. Вполне удобные штуки. Есть соблазн напихать туда всякого, например: &#60;script type="text/javascript" src="../js/jQuery.js"&#62;&#60;/script&#62; Кажется, круто &#8212; теперь у меня на всех страницах будет jQuery. Как бы не так. Фишка в том, что относительные пути будут считаться не от master-page, а от content page, которая использует этот [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, небольшой туториал на тему ASP .NET.</p>
<p>Там есть master-page. Вполне удобные штуки. Есть соблазн напихать туда всякого, например:</p>
<p><code>&lt;script type="text/javascript" src="../js/jQuery.js"&gt;&lt;/script&gt;</code></p>
<p>Кажется, круто &#8212; теперь у меня на всех страницах будет jQuery. Как бы не так. Фишка в том, что относительные пути будут считаться не от master-page, а от content page, которая использует этот мастер. И это большая жопа, на самом деле. Достаточно странице быть не на том же уровне в иерархии каталогов и у нас все скрипты отваливаются.</p>
<p>Замечу, что это касается только скриптов. В остальных случаях (картинки, цсс) работает волшебная тильда. &#171;~&#187; &#8212; это путь к головному каталогу приложения.</p>
<ol>
<li>Решение для тех, у кого сайт всегда в корне домена:<br />
<code>&lt;script type="text/javascript" src="/js/jQuery.js"&gt;&lt;/script&gt;</code></li>
<li>Решение для нормальных людей:<br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;public static class Extensions<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void RegisterScript(this Control page, string scriptFileName)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegisterScript(page, scriptFileName, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void RegisterScript(this Control page, string scriptFileName, int index)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var tag = new HtmlGenericControl("script");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag.Attributes.Add("type", "text/javascript");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag.Attributes.Add("src", page.ResolveUrl(scriptFileName));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;page.Page.Header.Controls.AddAt(index, tag);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</code></li>
</ol>
<p>Указание индекса нужно для разруливания зависимостей и вставки скриптов в самое начало элемента head.</p>
<p>Нашёл <a href="http://geekswithblogs.net/rachit/archive/2007/01/14/103608.aspx">здесь</a></p>

	Метки:<a href="http://www.aensidhe.ru/tag/asp-net/" title="asp .net" rel="tag">asp .net</a>, <a href="http://www.aensidhe.ru/tag/javascript/" title="javascript" rel="tag">javascript</a>, <a href="http://www.aensidhe.ru/tag/master-page/" title="master page" rel="tag">master page</a>, <a href="http://www.aensidhe.ru/tag/trick/" title="trick" rel="tag">trick</a>, <a href="http://www.aensidhe.ru/category/development/" title="программирование" rel="tag">программирование</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2008/12/26/master-page-vs-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

