Asp.Net ile MasterPage kullanarak hazırladığımız web sayfalarında benim gibi sayfa header’ına her sayfada sadece o sayfa için hazırlanmış farklı bir CSS ya da JS dosyası bağlamanız gerekiyorsa bu çözüm işinize yarayacaktır. Öncelikle web projenize App_Code klasörü içine bir Class dosyası ekliyoruz. Ve dosyaya şu kodları yapıştırıyoruz:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/// <summary>
/// Web sayfalarınıza dinamik olarak CSS ve JS dosyalarını eklemek için kullanabilirsiniz.
/// You can use this for add dynamicly CSS or JS file(s) into your web pages
/// mustafa çoban
/// </summary>
namespace MCsDynamicFile
{
/// <summary>
/// Web sayfanıza <head></head> etiketleri arasına dinamik olarak CSS dosyaları eklemenizi sağlar.
/// </summary>
public class CssFile
{
/// <summary>
/// CSS dosyası ekleme metodu.
/// </summary>
/// <param name="CssFilePath">Css dosyanısının göreceli konumu. Ör: "styles/style.css" gibi...</param>
/// <param name="TargetPage">Hedef</param>
public static void Add(string CssFilePath, Page TargetPage)
{
HtmlLink Css = new HtmlLink();
Css.Href = CssFilePath;
Css.Attributes.Add("rel", "stylesheet");
Css.Attributes.Add("type", "text/css");
TargetPage.Header.Controls.Add(Css);
}
}
/// <summary>
/// Web sayfanıza <head></head> etiketleri arasına dinamik olarak JS dosyaları eklemenizi sağlar.
/// </summary>
public class JsFile
{
/// <summary>
/// JS dosyası ekleme metodu.
/// </summary>
/// <param name="JsFilePath">JS dosyanısının göreceli konumu. Ör: "scripts/script.js" gibi...</param>
/// <param name="TargetPage">Hedef</param>
public static void Add(string JsFilePath, Page TargetPage)
{
HtmlGenericControl Js = new HtmlGenericControl("script");
Js.Attributes.Add("type", "text/javascript");
Js.Attributes.Add("src", JsFilePath);
TargetPage.Header.Controls.Add(Js);
}
}
}