суббота, 9 января 2010 г.

Проблема с путями к js-скриптам на Master Page

На Master Page были прописаны пути к *.js файлам. Все работало до того момента, пока не появились контент-страницы, использующие эту Master Page и лежащие во вложенных директориях. Так вот, эти контент-страницы просто не видели .*js файлы.

Одним из решений оказалось удалить пути к скриптам с Master Page, а в событии Page_Load прописать следующее:

protected void Page_Load(object sender, EventArgs e)
{
    HtmlGenericControl js = new HtmlGenericControl();
    js.TagName = "script";
    js.Attributes.Add("type", "text/javascript");
    js.Attributes.Add("language", "javascript");
    js.Attributes.Add("src", ResolveUrl("~js/myscript.js"));
    this.Page.Header.Controls.Add(js);
}

Кто какие решения еще предложит?

2 комментария:

alex комментирует...

Можно подключить скрипты воспользовавшись контролом asp:ScriptManager

Анонимный комментирует...

Обычно это решается установкой '/' в начале пути, чтобы отсчет был от корня