如何在aspx中获取cs文件的路径?
问题在于:我在property.cs文件中创建了一个属性类,该文件在EPiServer管理模块中使用。因此, Server.MapPath()将返回执行文件的路径,该路径与我的代码完全不同。我需要获取property.cs文件的路径(来自property.cs文件内),以便动态设置css和js文件的一些相对路径。怎么办呢?
因此,我希望能够在此cs文件中包含.js和.css文件,所有文件都位于同一目录中,但可以从EPiServer UI访问cs文件。
答案 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)中读取它们,如果它们需要是动态的,这些也可以通过各种方法在页面生命周期中注入。