ASPX:获取cs文件的路径

时间:2010-09-03 15:48:23

标签: c# asp.net file path episerver

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

问题在于:我在property.cs文件中创建了一个属性类,该文件在EPiServer管理模块中使用。因此, Server.MapPath()将返回执行文件的路径,该路径与我的代码完全不同。我需要获取property.cs文件的路径(来自property.cs文件内),以便动态设置css和js文件的一些相对路径。怎么办呢?

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

3 个答案:

答案 0 :(得分:3)

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

如果你有依赖javascript和css等资源的web类,你应该使用ClientScriptManager(或Ajax应用程序的ScriptManager)到register the script files到页面上,脚本和css应该部署到自己的常规网络目录。

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

将脚本注册到页面

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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