繁体   English   中英

在母版页和default.aspx页中具有链接的ContentPlaceHolder

[英]ContentPlaceHolder with link in master page and default.aspx page

我在用

<head runat="server">
    <title></title>
    <link id="Link2" href="~/App_Shared/CSS/AjaxStyle.css" rel="stylesheet" type="text/css"
    runat="server" />
    <asp:ContentPlaceHolder ID="cphHead" runat="server">
    </asp:ContentPlaceHolder>
</head>

此代码在母版页和default.aspx页中,其内容div如下所示

<asp:Content ID="Content1" ContentPlaceHolderID="cphHead" runat="server">
</asp:Content>

现在,我想在default.aspx页面(如母版页)的此内容div中添加新的样式表css文件。 并在此链接中,href我将给出相对URL(使用〜符号URL)

<asp:Content ID="Content1" ContentPlaceHolderID="cphHead" runat="server">
    <link id="Link1" href="~/App_Shared/CSS/DefaultStyle.css" rel="stylesheet" type="text/css"
    runat="server" />
</asp:Content>

但是当它运行时,它会在HTML页面源代码上显示我

<link id="Link2" href="../App_Shared/CSS/AjaxStyle.css" rel="stylesheet" type="text/css" />

<link id="Link1" href="~/App_Shared/CSS/DefaultStyle.css" rel="stylesheet" type="text/css" />

如何像第一个id =“ Link2”一样解析第二个链接id =“ Link1”。 我想将link1 href转换为像link2这样的绝对路径...但是如何????

尝试手动链接javascript文件时遇到了相同的问题。 在default.aspx中尝试以下操作:

<link href="<%= ResolveUrl("~") %>App_Shared/CSS/DefaultStyle.css" type="text/css" rel="stylesheet">

作为旁注,如果您使用的是xhtml doctype,则仅以“ />”结尾该标签,以上示例适用于html。

您可以使用这样的C#代码添加样式表...

protected void Page_Init(object sender, EventArgs e)
{
        HtmlLink css = new HtmlLink();
        css.Href = "css/fancyforms.css";
        css.Attributes["rel"] = "stylesheet";
        css.Attributes["type"] = "text/css";
        css.Attributes["media"] = "all";
        Page.Header.Controls.Add(css);
}

我希望它能按照您的要求...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM