Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正确处理URL——生产与开发(ASP.NET)_C#_Asp.net_Url - Fatal编程技术网

C# 正确处理URL——生产与开发(ASP.NET)

C# 正确处理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

我的生产环境位于主url
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
结构。我发现这种情况非常令人沮丧,因为它非常丑陋:-(