asp.net和Visual studio根目录问题
我看到一些非常奇怪的事情,我想我会问Stackoverflow社区他们是否知道答案 我有一个asp.net项目,它在一个环境中运行良好,但无法确定在另一个环境中样式发生了什么变化 在第一个环境(Windows 2008 Server)中,以下链接工作正常:asp.net和Visual studio根目录问题,asp.net,visual-studio-2008,Asp.net,Visual Studio 2008,我看到一些非常奇怪的事情,我想我会问Stackoverflow社区他们是否知道答案 我有一个asp.net项目,它在一个环境中运行良好,但无法确定在另一个环境中样式发生了什么变化 在第一个环境(Windows 2008 Server)中,以下链接工作正常: <link href="/Styles/09/style.css" rel="stylesheet" type="text/css" /> 但在另一个环境中(它是Windows 7),我不得不将其更改为工作模式: <l
<link href="/Styles/09/style.css" rel="stylesheet" type="text/css" />
但在另一个环境中(它是Windows 7),我不得不将其更改为工作模式:
<link href="../Styles/09/style.css" rel="stylesheet" type="text/css" />
注意,在Win7中,目录似乎向前移动了一个目录,这是怎么回事?就像“running”目录现在似乎是\bin目录而不是home
哪个环境配置正确?如何确定执行目录级别?我接下来关心的是推到一个prod环境并猜测哪个配置是正确的
如有任何见解,将不胜感激 您确定主机设置正确吗
过去,我在IIS而不是开发服务器中使用ncode时遇到过类似的问题。您确定主机设置正确吗
过去,我在IIS而不是开发服务器中使用ncode时遇到过类似的问题。
。/
几乎肯定是错误的。也就是说,如果跨环境出现问题,那么简单的/
也可能是错误的。尝试使用“~”运算符设置准确的应用程序根
此链接将帮助您了解到底发生了什么:。/
几乎肯定是错误的。也就是说,如果跨环境出现问题,那么简单的/
也可能是错误的。尝试使用“~”运算符设置准确的应用程序根
此链接将帮助您了解到底发生了什么:第一种方法是从根路径进行搜索,第二种方法首先向上搜索一个目录。我猜是在第一台服务器上,您的站点托管在根目录(www.example.com/),而在第二台服务器上,它托管在子目录(www.example.com/mysite/)中。在第二种情况下,它将查看www.example.com/Styles,而不是预期的www.example.com/mysite/Styles第一种方法是从根路径搜索,第二种方法首先向上搜索一个目录。我猜是在第一台服务器上,您的站点托管在根目录(www.example.com/),而在第二台服务器上,它托管在子目录(www.example.com/mysite/)中。在第二种情况下,它将查看www.example.com/Styles,而不是预期的www.example.com/mysite/Styles
。/
是错误的
/
是站点根目录。如果在webdev上运行,这将是应用程序的根目录。将应用程序移动到IIS时,它将是IIS站点的根,例如,不是应用程序的根
正如Joel所说,使用“~”可以帮助解决这个问题,但是“~”只适用于页面处理的标记。除非添加runat=server,否则它对css或js中的路径以及显示的链接标记都没有帮助。。我想。即使这样,也无法帮助您处理html等静态资源
要解决这个问题以在开发人员和产品环境之间提供一致的行为可能是一个挑战,但一旦你做到了,你就做到了。
。/
/
是站点根目录。如果在webdev上运行,这将是应用程序的根目录。将应用程序移动到IIS时,它将是IIS站点的根,例如,不是应用程序的根
正如Joel所说,使用“~”可以帮助解决这个问题,但是“~”只适用于页面处理的标记。除非添加runat=server,否则它对css或js中的路径以及显示的链接标记都没有帮助。。我想。即使这样,也无法帮助您处理html等静态资源
解决这一问题以在开发人员和产品环境之间提供一致的行为可能是一个挑战,但一旦你做到了,你就做到了。Nelson:这就是为什么在你可以的地方使用服务器控件是很好的。;-)我认为您不应该使用服务器控件,除非您需要(或方便使用)。否则,您将在其他静态文本上使用ASP.NET资源。Nelson:这就是为什么在可以使用服务器控件的地方使用服务器控件的原因。;-)我认为您不应该使用服务器控件,除非您需要(或方便使用)。否则,您将在其他静态文本上使用ASP.NET资源。您是对的!检查后,原始服务器将项目托管在根目录下。我设置了第二个,但将其放在一个单独的文件夹中(即)。我认为这是一种可怕的参考风格依赖于项目的创建地点,你有什么建议吗?“~”由于这是aspx标记,无法使用服务器引用。图(我去过那里)/样式/可以工作,但如果您有母版页,则路径是相对于派生页的,通常不起作用。我相信所有常规HTML标记都可以运行在=“server”,即使它们没有属性。尝试我似乎还记得ASP.NET在CSS上被卡住了……您可能可以使用类似于它的内联代码,可能类似于Request.ApplicationPath,但我必须检查一下。感谢Nelson,这显然是ASP.NET团队的疏忽,如果能有一种更干净的方式通过标记访问服务器端rel路径,那就太好了。您是否尝试过使用tilde的runat=“Server”方式?否则,可能有一个更好的选择,我不知道。你是对的!检查后,原始服务器将项目托管在根目录下。我设置了第二个,但将其放在一个单独的文件夹中(即)。我认为这是一种可怕的参考风格依赖于项目的创建地点,你有什么建议吗?“~”由于这是aspx标记,无法使用服务器引用。图(我去过那里)/样式/可以工作,但如果