首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Html.ActionLink不在生产环境中工作

Html.ActionLink不在生产环境中工作
EN

Stack Overflow用户
提问于 2014-09-11 07:56:07
回答 2查看 2K关注 0票数 0

我目前正在开发一个MVC4项目,该项目正在部署到IIS6宿主环境中。

我正在使用Html.ActionLink()在我的页面上生成链接。

例:

代码语言:javascript
复制
@Html.ActionLink("Home Link", "Index", "Admin")

当我在本地运行应用程序(即点击http://localhost:yyy)时,链接会很好地生成:

代码语言:javascript
复制
<a href="/Admin/Index">Home Link</a>

但是,当我在生产环境中运行它时:

代码语言:javascript
复制
<a href="">Home Link</a>

如您所见,该链接没有为其生成href

我认为这可能是路由的问题,但是当我试图访问browser:admin/edit/45中的页面时,或者使用自定义路由绑定:sf/24的页面时,这两种方法都可以很好地工作;它们将我引向我所期望的页面。

我没什么主意了,也不知道该怎么解决。

如有任何帮助,将不胜感激。

谢谢,

我对此增加了一笔赏金,希望它能帮助我得到答案。我怀疑这个问题可以帮助别人,因为我似乎没有做什么太开创性的事情。

24/09/14更新

这是在VS2010 SP1中开发的,使用内置的web服务器(Cassini?)。

然后,我将(使用Visual内置的选项)发布到运行IIS6的服务器上。

目录结构包含类似于:

代码语言:javascript
复制
App_Start
Assets
Classes
Content
Controllers
DomainModel
Scripts
Services
SharedAssets
ViewModels
Views

(即)任何链接的名称都不匹配)。

最重要的是,捆绑似乎奏效了。例:@Scripts.Render("~/bundles/adminjs")

使用此(VB) Razor:

代码语言:javascript
复制
@Html.ActionLink("View", "Display", "Form", New With { .id = 72 }, Nothing)
<br />
@Html.RouteLink("View", "Default", new with { .controller = "Form", .action = "Display", .id = 72 })

我得到以下输出..。

在VS10 10/Chrome(本地)中:

代码语言:javascript
复制
<a href="/Form/Display/72">View</a>
<br>
<a href="/Form/Display/72">View</a>

在IIS6 6/Chrome(服务器)中:

代码语言:javascript
复制
<a href="">View</a>
<br>
<a href="">View</a>

..adding更多的神秘之处在于它没有选择路线.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-24 19:23:07

您可能想看看这个所以,看看您是否遇到了与定义路由和默认路由的方式相同的问题。

票数 1
EN

Stack Overflow用户

发布于 2014-09-24 14:09:59

IIS 6不支持集成模式的应用程序池.如何让这是一个指南将请求路由到ASP.NET MVC应用程序。这里更有指导意义。

这是一个很好的答案比较了经典和集成两种模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25782089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档