ContentPlaceHolder 在母版页和 default.aspx 页面中带有链接

发布于 2024-11-28 15:17:26 字数 1242 浏览 1 评论 0原文

我在母版页中使用

<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="Link1",就像第一个链接 id="Link2" 。 我希望将 link1 href 转换为像 link2 这样的绝对路径... 但怎么办?

I am using

<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>

this code in master page and in default.aspx page we have its content div like this

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

Now i want to add a new style sheet css file in this content div at default.aspx page like the master page. and in this link href i will give the relative URL (use ~ sign 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>

but when it runs it displays me on HTML page source

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

and

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

How to resolve this second one link id="Link1" like the first one id="Link2".
I want link1 href converted into a absolute path like link2...
but how????

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽清梦 2024-12-05 15:17:26

您可以使用这样的 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);
}

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

You can add stylesheet by using c# code like this...

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);
}

I hope it works as per your requirement...

素衣风尘叹 2024-12-05 15:17:26

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

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

作为旁注,您只能以“/>”结束此标记如果您使用的是 xhtml 文档类型,则上面的示例适用于 html。

I've had the same issue when trying to link in javascript files manually. Try the following in default.aspx :

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

As a sidenote, you only end this tag with "/>" if you are using a xhtml doctype, above example is for html.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文