ASP.NET MVC3 Web应用程序在IIS上发布后表现不一样

时间:2012-06-19 03:08:33

标签: c# asp.net-mvc-3 iis-7.5

我编写了一个ASP.NET MVC3 Web应用程序,它可以在Visual Studio开发Web服务器中完美运行,并在特定的IIS Web服务器上运行。

我已成功在另一个IIS Web服务器上发布了相同的Web应用程序。除了奇怪的行为外,它运行良好。

我的控制器操作会毫无问题地返回内容,但不会呈现布局页面。我最终只得到控制器动作返回的内容。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

我打赌你已经在你的视图中硬编码了脚本和CSS,而不是使用Url助手。你写道:

<link href="/Content/Site.css")" rel="stylesheet" type="text/css" />

而不是正确的方式:

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />

或者您写道:

<script src="/Scripts/jquery-1.5.1.min.js"" type="text/javascript"></script>

而不是正确的方式:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>

现在继续搜索你有这样硬编码网址的所有地方,并用帮助者生成的网址替换它们。

部署在IIS中时,您的站点无法正常工作的原因是因为在IIS中可能存在一个您必须考虑的虚拟目录。所以正确的地址是http://example.com/myappname/content/site.css,而在本地运行时,没有这样的目录http://localhost:1234/content/site.css