子文件夹/虚拟目录/路由/域问题中的ASP.NET MVC

时间:2010-11-19 08:52:32

标签: asp.net asp.net-mvc

我昨天发布了以下问题,但没有得到有用的答案。 我可能还不够清楚,我很抱歉。

在这里搜索了几个小时并用Bing搜索我无法解决 下列 问题。它不应该是一个“沉重”的问题。

这是我的问题

  1. 我有一个类似于http://example.com的域名 我的网站空间上的虚拟目录就像 http://myprovider.com/VirtualDirectoryName/

  2. 我的网站空间上的文件夹结构是(当然)像这样

  3.  bin
     VirtualDirectoryName
         bin
         Content
         Scripts
         Views
       Web.config
       Global.asax
    

    如果我现在打电话给“http://www.domain.com”,我会得到没有CSS的网站 链接 是“http://www.domain.com/VirtualDirectoryName/”。

    我使用默认且几乎为空的默认“Internet应用程序”。所以 路由 是默认值,所有链接都是使用@ Html.ActionLink创建的。

    请帮助我,我尝试了很多东西,但我无法让它发挥作用。在我的 本地环境我可以用IIS设置影响,但(当然)我 无法访问我的主机的IIS设置。

    顺便说一下,我的托管服务提供商是折扣ASP.NET。

    谢谢大家!

4 个答案:

答案 0 :(得分:0)

你如何引用html中的css文件?

如果您的引用如下:

<link href="../../Content/Style.css" rel="stylesheet" type=\"text/css\" />

可能没有找到正确的目录。尝试将其引用如下:

<link href="/Content/Style.css" rel="stylesheet" type=\"text/css\" />

这样你就可以从根引用它了。

检查的一个好方法是使用firebug中的“net”选项卡,这将显示它们是否正在加载,如果不是它正在尝试找到它们的位置。

答案 1 :(得分:0)

以这种方式链接你的css和javascript(使用ResolveClientUrl):

<link href="<%=ResolveClientUrl("/Content/style.css")%>" rel="stylesheet" type="text/css" />

答案 2 :(得分:0)

问题是一个简单的路由错误。我的应用程序只是iis中的一个简单文件夹,而不是虚拟目录/应用程序。将文件夹设置为应用程序后问题就消失了。

答案 3 :(得分:0)

我认为您可以使用根目录中的web.config解决此问题,如How to host ASP.NET MVC site in a subfolder

所示