C# 正确处理URL——生产与开发(ASP.NET)
我的生产环境位于主urlC# 正确处理URL——生产与开发(ASP.NET),c#,asp.net,url,C#,Asp.net,Url,我的生产环境位于主urlwww.example.com/sample之外的目录中。通过使用~,我的大多数URL解析都很好,因此~/default.aspx解析为www.example.com/sample/default.aspx 然而,我的css javascript没有一个在生产中正确加载。我将脚本src设置为,例如,js/sample.js,我尝试了~/js/sample.js,但它没有解析。我在标记中尝试了runat=“server”,但有时会出错。我有: <script runa
www.example.com/sample
之外的目录中。通过使用~
,我的大多数URL解析都很好,因此~/default.aspx
解析为www.example.com/sample/default.aspx
然而,我的css javascript没有一个在生产中正确加载。我将脚本src设置为,例如,js/sample.js
,我尝试了~/js/sample.js
,但它没有解析。我在
标记中尝试了runat=“server”
,但有时会出错。我有:
<script runat="server" src="~/js/sample.js?<%= MyCode.VersionInfo.JSTag %>" type="text/javascript"></script>
在这里,我将版本代码标记到文件名的末尾,以便在调试期间强制重新加载,但是,它使用runat=server
对此表示不满
我确信这是一个常见的问题,并且有一个标准的习惯用法来处理它,但我似乎找不到它。有人能帮我吗?~
何时以及如何扩展,人们如何处理这类事情
最有可能的是,当网站投入全面生产时,它将在没有子目录的情况下进入,因此我需要系统地处理这个问题。只需为js、css和图像使用相对路径,即js/sample.js只需为js、css和图像使用相对路径,即js/sample.js您需要的是:
<script type="text/javascript" src="<%= this.ResolveUrl("~/js/sample.js?" + MyCode.VersionInfo.JSTag) %>"></script>
更多信息您需要的是:
<script type="text/javascript" src="<%= this.ResolveUrl("~/js/sample.js?" + MyCode.VersionInfo.JSTag) %>"></script>
更多信息这里有一个建议:
<script type="text/javascript" src="<% =HttpRuntime.AppDomainAppVirtualPath & "/js/sample.js"%>"></script>
此外,如果您想在前面发现类似这样的路径问题,可以将web应用程序设置为在Cassini(内置web服务器)下的虚拟目录下运行
右键单击Web项目,选择属性,选择Web,然后键入您的虚拟路径-例如/sample/这里有一个建议:
<script type="text/javascript" src="<% =HttpRuntime.AppDomainAppVirtualPath & "/js/sample.js"%>"></script>
此外,如果您想在前面发现类似这样的路径问题,可以将web应用程序设置为在Cassini(内置web服务器)下的虚拟目录下运行
右键单击Web项目,选择属性,选择Web,然后键入您的虚拟路径-例如/sample/-,lool!
~
的主要优点是,asp.net引擎执行相关计算。。。这绝对不是正确的方法!-,笨蛋!~
的主要优点是,asp.net引擎执行相关计算。。。这绝对不是正确的方法!我提出的唯一解决方案是使用别人建议的ResolveUrl
结构。我发现这种情况非常令人沮丧,因为它非常丑陋:-(我提出的唯一解决方案是使用别人建议的ResolveUrl
结构。我发现这种情况非常令人沮丧,因为它非常丑陋:-(