我目前正在开发一个MVC4项目,该项目正在部署到IIS6宿主环境中。
我正在使用Html.ActionLink()在我的页面上生成链接。
例:
@Html.ActionLink("Home Link", "Index", "Admin")当我在本地运行应用程序(即点击http://localhost:yyy)时,链接会很好地生成:
<a href="/Admin/Index">Home Link</a>但是,当我在生产环境中运行它时:
<a href="">Home Link</a>如您所见,该链接没有为其生成href。
我认为这可能是路由的问题,但是当我试图访问browser:admin/edit/45中的页面时,或者使用自定义路由绑定:sf/24的页面时,这两种方法都可以很好地工作;它们将我引向我所期望的页面。
我没什么主意了,也不知道该怎么解决。
如有任何帮助,将不胜感激。
谢谢,
我对此增加了一笔赏金,希望它能帮助我得到答案。我怀疑这个问题可以帮助别人,因为我似乎没有做什么太开创性的事情。
24/09/14更新
这是在VS2010 SP1中开发的,使用内置的web服务器(Cassini?)。
然后,我将(使用Visual内置的选项)发布到运行IIS6的服务器上。
目录结构包含类似于:
App_Start
Assets
Classes
Content
Controllers
DomainModel
Scripts
Services
SharedAssets
ViewModels
Views(即)任何链接的名称都不匹配)。
最重要的是,捆绑似乎奏效了。例:@Scripts.Render("~/bundles/adminjs")
使用此(VB) Razor:
@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(本地)中:
<a href="/Form/Display/72">View</a>
<br>
<a href="/Form/Display/72">View</a>在IIS6 6/Chrome(服务器)中:
<a href="">View</a>
<br>
<a href="">View</a>..adding更多的神秘之处在于它没有选择路线.
https://stackoverflow.com/questions/25782089
复制相似问题