2010-05-26 87 views
1

寻找不同的网站的最佳做法是什么,我看到冲突的约定。围绕链接和网址在asp.net-mvc

,如果你想有图片链接,其他页面,js文件,我已经看到:

URL.Content("~/scripts/myscript.js"); 
<a href="/scripts/msscripts.js"> 
<img src="../../images/test.jpg" /> 
<img src="../images/test.jpg" /> 
<img src="/images/test.jpg" /> 
<img src="~/images/test.jpg" /> 

这些似乎都在asp.net mvc的工作,但它好像有都做得稍有不同的东西。

我正在转移到一个新的Web服务器,他们正在从IIS重定向更改为isapi重写,我被告知确保我的链接以正确的方式完成或网站不工作。

有人可以澄清“正确”的方式是什么?

回答

2

使用第一个选项。这样,您可以将您的应用程序重定位到您的域的任何子目录或最高级别。

如果您确定应用程序永远不会从子目录运行(即它始终位于服务器的根目录),那么第二个选项是好的。

第三和第四个是坏的,因为它们涉及到你的URL结构,这是一个MVC环境意义:添加一个新的位路径(例如多了一个参数)或重构的路径,并没有将工作。

0

最好的方法是使用Url.Content,并确保你有〜。

Url.Content将以正确的路径(您的网站的根目录)替换〜。

只在你的css文件中使用相对路径。

如果你的CSS位于

/css/style.css

和背景图像中/images/background.png

然后在你的style.css使用:

由于您的网站整体移动,这将继续工作。

+0

如果我在一个css文件中有这个,该怎么办。我显然不能使用URL.Content – leora 2010-05-26 11:35:37