4

私はASP.NETページを持っています.ページロードでは、パブリック変数の値を設定します.インラインコーディング部分では、パブリック変数で利用可能な名前のフォルダであるCSSをロードしています.My 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";
     }

 }

しかし、ページを実行すると、 <%=VEndorId%> はその値に置き換えられません.しかし、本文では、適切に印刷されています.しかし、頭では来ていません.ViewSourceを確認し、ソースを見つけましたHTMLは以下の通り

<link href="../Vendors/&lt;%=vendorName%>/Lib/css/tradein.css" rel="stylesheet" type="text/css" />
4

3 に答える 3

7

2 つのオプションは次のとおりです。

<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>
于 2009-07-29T18:25:01.437 に答える
3

runat="server" タグを link 要素に追加します。

于 2009-07-29T07:08:00.957 に答える
0

同様の質問と良い答えhere

解決策は、インラインコードの周りの引用符をコードに移動することです

<link href=<%="'../Vendors/" + vendorName + "/css/style.css'"%> rel="stylesheet"...
               ^                                           ^
于 2013-11-20T02:57:42.777 に答える