簡體   English   中英

以編程方式將樣式表和javascript引用添加到asp.net主頁

[英]programmatically add stylesheet and javascript references to asp.net masterpage

我正在使用燈箱,但我只希望對樣式表和javascript文件的引用在網站上一個頁面(使用燈箱的頁面)的主頁標題中。 如何以編程方式在頁面加載中添加對樣式表和javascript文件的引用?

樣式表是“ css”文件夾,三個javascript文件是“ js”文件夾

嘗試...

Page.ClientScript.RegisterClientScriptInclude("JScripts", ResolveUrl("~/js/JScripts.js"));

將兩個占位符(“ JsPlaceholder”和“ CSSPlaceholder”)添加到母版頁眉上,並調用以下方法:

public void AddJavascriptFile(string path)
{
    PlaceHolder p = (PlaceHolder)Page.Header.FindControl("JsPlaceholder");
    p.Controls.Add(new LiteralControl(string.Concat("<script type='text/javascript' src='", path, "'></script>\n")));
}

public void AddCssFile(string urlPath)
{
    HtmlLink cssLink = new HtmlLink();
    cssLink.Href = path;
    cssLink.Attributes.Add("rel", "stylesheet");
    cssLink.Attributes.Add("type", "text/css");
    PlaceHolder p = (PlaceHolder)Page.Header.FindControl("CssPlaceholder");
    p.Controls.Add(cssLink);
}

你可以這樣

將此添加到您的標頭中:

  <asp:placeholder runat="server" id="lightbox" visible="false">

        <link rel="stylesheet" href="/css/style.css" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"</script>
        </asp:placeholder>

並從您的代碼隱藏集

lightbox.visible=true;

您還應該注意,通常您希望在頁面上保留盡可能多的html,而不是將其保留在代碼中,因此設計人員可以輕松進行更改

嘗試(在C#中,但您應該了解一下):

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    HtmlLink cssLink = new HtmlLink();

    //Create and configure the CSS link.
    cssLink.Attributes.Add("rel", "Stylesheet");
    cssLink.Attributes.Add("type", "text/css");
    cssLink.Href = "~/Path/To/File.css";

    //Add the CSS link to the page header.
    this.Header.Controls.Add(cssLink);

    //Add a script include to the page's ClientScript.
    this.ClientScript.RegisterClientScriptInclude("NameOfScript", this.ResolveUrl("~/Path/To/File.js"));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM