私は MVCContrib の最新バージョンを使用しており、次のヘルパー メソッドを使用してスタイルシートを含めようとしています。
<%=Html.Stylesheet(Links.Content.Site_css)%>
レンダリングされたパスは、次のように誤って計算されます。
<link type="text/css" rel="stylesheet" href="/content/css/Content/Site.css" />
実際のパスは次のようになります: /Content/Site.css
これはバグですか?
次の方法は正しく機能します。
方法 1: <%=Html.Stylesheet("~/Content/Site.css")%>
方法 2: <link type="text/css" rel="stylesheet" href="<%:Links.Content.Site_css %>" />
更新 1:
Links.Content.Site_css は、T4MVC を使用して自動生成される静的フィールドを表します
更新 2: T4MVC によって生成されたコードは次のようになります...
namespace Links {
...snipped for brevity...
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public static class Content {
private const string URLPATH = "~/Content";
public static string Url() { return T4MVCHelpers.ProcessVirtualPath(URLPATH); }
public static string Url(string fileName) { return T4MVCHelpers.ProcessVirtualPath(URLPATH + "/" + fileName); }
public static readonly string Site_css = Url("Site.css");
}