2009-04-08 84 views
1

编辑!我应该补充说,这个网站在本地完美运行。当部署了有这个问题,这只是MVC网站使用链接而不是视图语法的相对路径

原贴:

我有我只是把http://splattonet0.web704.discountasp.net/

它加载主控制器蛮好的索引视图站点。但是,当点击左侧的链接时,Web服务器正在查找不正确的相对路径(即E:\ web \ splattonet0 \ htdocs \ Home \ AboutMe),因为Home文件夹当然位于名为“Views “

我之前做了MVC网站和从未有过这个问题。我看不到这个或任何其他网站之间有任何区别。

我在我的链接部分主模板的代码如下:

<div id="navContainer"> 
      <ul id="mainNav"> 
       <li><a href="/Home/Index" title="Home">Home</a></li> 
       <li><a href="/Home/AboutMe" title="About Us">About Me</a></li> 
       <li><a href="/Skills/Index" title="Skills">Skills</a></li> 
       <li><a href="/Home/Resume" title="Resume">Resume</a></li> 
       <li><a href="/Home/Experience" title="Experience">Experience</a></li> 
       <li><a href="/Home/SitesIveDesigned" title="Websites I've developed">My Websites</a></li> 
       <li><a href="/Home/References" title="References">References</a></li> 
       <li><a href="/Home/Projects" title="Projects">Projects</a></li> 
       <li><a href="/Home/Hobbies" title="Hobbies">Hobbies</a></li> 
       ....etc 
      </ul> 
     </div> 

我有同样的问题,并没有在href属性前述foreslash。我决定保留它,因为这是我的其他网站(工作!)的样式。

任何人都可以为我阐述一些这方面的信息吗?谢谢!

进一步编辑:

我已经被要求从该服务器我写上的MVC网站提供代码,并且工作正常。在其他网站(YorkCentre)的链接代码是相同的风格:<li><a href="/Controller/Action">text</a></li>

代码:

<li><a href="/News/Index">Archived News</a></li> 
<li><a href="/Home/BoardOfDirectors">Board Of Directors</a></li> 
<li><a href="/Media/Index">In The Media</a> 
... 
</ul> 
+0

我相信,我们需要查看您的路线。 – tvanfosson 2009-04-08 18:36:03

+0

路线设置没有被修饰。这与使用默认的asp.net mvc应用程序生成的内容相同。 – splatto 2009-04-08 18:43:45

回答

0

我已经解决了这个问题!在DiscountASP中,我将应用程序池管道模式从经典更改为集成,并导致我的视​​图被正确呈现。

0

/首页/索引应该叫“家庭”控制的“指数”行动,假设你正在使用默认路由。 “主页”位于“视图”文件夹下的事实与MVC无关。

+0

我的根文件夹下的结构是Views \ Home \ Index.aspx。在我的控制器中,我有一个返回ActionResult的Index()函数。如上所述,我正在调用主控制器的索引操作。我的问题是,在部署的网站上,它解决了错误的页面。 – splatto 2009-04-08 19:00:13

+0

它必须是配置问题。它返回的404页面显示它正在寻找物理文件Home \ AboutMe,这听起来像MVC路由未启用。比较两个站点的IIS设置。我在这台主机上也有一个MVC网站,我记得唯一特殊的步骤就是使它成为VDir – Jason 2009-04-08 19:43:37

0

如果代码是在两个位置相同,这个问题只有一个的话,也许答案就在于没有在代码中。以下是一些可能有所帮助的疑难解答提示,因为如果没有关于这两种环境的更多信息,我不清楚问题所在。

什么是你的本地环境和服务器环境的Web服务器平台?您是否在本地使用Visual Studio和Cassini,以及远程使用IIS?如果是这样,哪个版本的IIS?如果不是,平台是什么?无论如何,目标服务器配置是否正确?

检查,以确保您的路由设置正确的目标服务器上。如果您的目标服务器运行IIS6-IIRC,尤其如此,IIS 6需要一些特殊的配置帮助来处理ASP.NET MVC中的标准路由。

如果上述所有的不帮你追踪了这一点,试图通过创建一个新的MVC的网站,仅仅下降现有的文件到在本地复制它。看看成功或失败。

你有一个服务器上的其他成功执行的ASP.NET MVC应用程序?根据您的新网站检查他们的配置。

相关问题