在子目录中运行ASP.NET MVC应用程序,获得404错误

时间:2009-12-09 21:21:31

标签: asp.net-mvc

我有一个使用ASP.NET MVC的应用程序。我将它部署到Crystal Tech服务器(因此,无法直接访问IIS控制面板)。

最初这是在根目录中运行,一切正常。然后客户端决定它需要在子目录中运行。我在那里移动了应用程序并且出现了主索引页面,但是每个其他页面都尝试访问原始根目录中的控制器/操作/页面/视图。我不明白这一点,因为引用都是上下文的(即使用../controller/action而不是mysite.com/controller/action)。

我在这里做错了吗?我有什么选择?

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:2)

我会使用UrlHelper来生成链接。这将确保它们相对于应用程序路径。

<a href="<%= Url.Action( "action", "controller" ) %>">Link Text</a>

<img src="<%= Url.Content( "~/images/myimg.jpg" ) %>" alt="My Image" />