Asp.net mvc MVC路由-Url未更新到新路由

Asp.net mvc MVC路由-Url未更新到新路由,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,我有以下MVC路线: routes.MapRoute("AccountLookupDirect", "{culture}/account/{originalSellerId}/{accountNumber}", new {culture = "en-gb", controller = "accountlookup", action = "index", originalSellerId = UrlP

我有以下MVC路线:

routes.MapRoute("AccountLookupDirect", 
                        "{culture}/account/{originalSellerId}/{accountNumber}",
                        new {culture = "en-gb", controller = "accountlookup", action = "index", originalSellerId = UrlParameter.Optional, accountNumber = UrlParameter.Optional},
                        new {culture = @"[a-z]{2}-[a-z]{2}"}
                        );
我可以浏览到一个url,比如http://{server}/**account**/{seller}/{accountnumber},页面将按预期加载。问题是,当在页面上生成链接时,url不会更新到新路由。相反,我得到的是
http://{server}/**{controller}**/{seller}/{accountnumber}

链接是使用把手模板动态生成的。该模板如下所示:

<script type="text/x-handlebars-template" data-template-name="account-link">
<a href="@Url.Action("index", "accountlookup")/{{ OriginalSeller }}/{{AccountNumber}}">{{ AccountNumber }}</a>
</script>


我已经在两台不同的服务器上部署了相同的代码,并且在其中一台服务器上可以正常工作,但在另一台服务器上却不能正常工作。

似乎是因为服务器安装了不同版本的.NET framework。工作服务器有.NET 4.5,而另一个服务器只有.NET 4

不幸的是,由于我们无法在其中一个机箱上安装4.5,我们不得不实施一个非常糟糕的解决方案:

<script type="text/x-handlebars-template" data-template-name="account-link">
<a href="@(Url.Action("index", "accountlookup", new { originalSellerId = "a", accountNumber = "a" }).Replace("/a/a", ""))/{{ OriginalSeller }}/{{AccountNumber}}">{{ AccountNumber }}</a>
</script>


您是如何在页面上生成链接的?我已经更新了这个问题。您还注册了哪些其他路线以及顺序?只有上述路线和默认路线。默认路线是最后一条。