我有一个 ASP.NET 页面。在页面加载中,我设置了一个公共(public)变量的值。在内联编码部分,我正在加载一个 CSS,它是一个文件夹,其名称在公共(public)变量中可用。我的 HTML标记如下

<%@ Page Language="C#"  EnableEventValidation="false" AutoEventWireup="true" CodeFile="MyPage.aspx.cs"  Theme="GridView" Inherits="GUI.MyPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>MyPage</title>
<link href="../Vendors/<%=vendorName%>/css/style.css" rel="stylesheet" type="text/css" />

</head>
 <body>
<%=vendorName %> <!-- here value is printed correctly -->
 ...
 </body>

在我后面的代码中
 public partial class MyPage: MyCommonClass
 {
    public string vendorName = "";
     protected void Page_Load(object sender, EventArgs e)
     {
        vendorName = "ACLL";
     }

 }

但是当我运行页面时, 没有被替换为其中的值。但是在正文中,它打印正确。但是在头部它没有出现。我检查了 ViewSource 并找到了源HTML如下
<link href="../Vendors/&lt;%=vendorName%>/Lib/css/tradein.css" rel="stylesheet" type="text/css" />

最佳答案

这两个选项是:

<link href="<%= string.Format("../Vendors/{0}/css/style.css", vendorName) %>" type="text/css" rel="Stylesheet" /> // as Greco stated


<style>
  @import url("../Vendors/<%=vendorName%>/css/style.css");
</style>

10-08 11:55