runat="server" at html Head 标记导致 c# 嵌入式代码块无法转换为客户端代码

runat="server" at html Head tag causing c# embedded code blocks not convert to client side code

当我在 head 标记处添加 runat="server" 和一些具有 <%= WebAppInstance %> 值的 css href 时。事实证明 <%= WebAppInstance %> 没有转换为客户端代码。我希望下面的代码可以澄清我的问题。

C#.Net代码:

<head id="Head1" runat="server">
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <title>Testing</title>
    <link rel="stylesheet" href="<%= WebAppInstance %>/bucket/css/bootstrap.min.css" />
</head>

HTML 代码如图:

Html code with highlighted problem 你能告诉我这是怎么回事吗?谢谢!

请删除 <%= 后的 space 字符。这样你的代码就变成了:

<%=WebAppInstance %>

否则使用完整版:

<% Response.Write(WebAppInstance); %>

您也可以考虑以编程方式添加css

protected void Page_Init(object sender, EventArgs e)
{
    var link = new HtmlLink();
    link.Href = "~/bucket/css/bootstrap.min.css";
    link.Attributes.Add("rel", "stylesheet");
    link.Attributes.Add("type", "text/css");
    Page.Header.Controls.Add(link);
}

头部会像

<head runat="server">
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <title>Testing</title>
</head>