我有一个 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/<%=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>