1

我的 css 文件在_layouts/MyProject/css/styles.css里面,我需要从后面的代码中注册它。为此,我应该使用CssRegistration.Register方法:

CssRegistration.Register("MyProject/css/styles.css");

但是你会得到这个异常:

无法为“1033/styles/MyProject/css/styles.css”创建缓存安全 URL,找不到文件。请验证该文件是否存在于 layouts 目录下。

因为 SharePoint 期望 css 文件位于特定语言文件夹中,例如 English 1033/styles

似乎没有参数可以关闭此行为!

另一方面非常相似的任务,javascript文件的注册,支持这样的要求,见第三个参数localizable

ScriptLink.Register(Page, "MyProject/js/script.js", false);

为什么逻辑上相同的两个类具有如此不同的接口?有什么方法可以从特定语言的文件夹中注册 css 吗?或者唯一的方法是将相同的 css 文件分发到那些 LCID 文件夹?

4

1 回答 1

2

您可以改为创建一个新CssRegistration控件并将其添加到页面中。然后在路径中包含“/_layouts/”文件夹

CssRegistration cssRegistration = new CssRegistration
{
  After = "corev4.css",
  Name = "/_layouts/MyProject/css/styles.css"
};
Controls.Add(cssRegistration);
于 2012-04-12T18:19:13.540 回答