0

如何在aspx中获取cs文件的路径?

这是问题所在:我在一个用于 EPiServer 管理模块的 property.cs 文件中创建了一个属性类。因此, Server.MapPath()将返回执行文件的路径,该路径与我的代码完全不同。我需要获取 property.cs 文件的路径(从 property.cs 文件内部),以便动态设置一些 css 和 js 文件的相对路径。如何才能做到这一点?

因此,我希望能够在这个 cs 文件中包含 .js 和 .css 文件,所有文件都位于同一目录中,但 cs 文件是从 EPiServer UI 访问的。

4

3 回答 3

3

我强烈建议不要做你想做的事情。您将构建对文件的脆弱依赖,甚至不应该与您的项目一起部署。

如果您有依赖于 javascript 和 css 等资源的 web 类,则应使用 ClientScriptManager(或 ajax 应用程序的 ScriptManager)将脚本文件注册到页面上,并且应将脚本和 css 部署到它们自己的常规 web 目录中。

如果部署位置有问题,并且您正在创建某种可重用、可再分发的模块,那么我建议您将 .js 和 .css 文件作为WebResources嵌入到程序集中,并使用脚本管理器将脚本注册到这样的页面,使用ClientScriptManager.RegisterScriptResource()。

于 2010-09-03T16:44:30.937 回答
1

我认为您应该将您的 CSS、JS 和其他静态文件包含为嵌入式资源

这将包括 DLL 中的文件,这使部署更容易。然后,您可以设置一个HTTP 处理程序,它将为您提供嵌入文件的内容 - 或使用前面提到的 RegisterScriptResource() 方法。

通过嵌入文件,您不必知道任何文件路径

于 2010-09-15T09:40:12.580 回答
0

ASP.NET 是编译好的,你永远不需要在运行时从文件中读取设置,你应该从配置文件 (*.config) 中读取,如果它们需要是动态的,这些也可以在页面生命周期中通过各种方式注入的方法。

于 2010-09-03T15:54:36.610 回答