当我将 MVC4 应用程序发布到我的 Web 服务器时,我遇到了一个奇怪的问题。
一切正常,我确实更改了路由配置中的一些设置。
问题是当我在 localhost 上运行网站时,我的所有链接都呈现得非常好。
@Html.ActionLink("Market Summary","Market","Home")
将呈现为 url。
然而,当我将我的项目上传到我的服务器(winhost)时,每当我将鼠标悬停在我的链接上时,它只会指向我的域名。它在我项目的任何页面上执行此操作...
我不知道为什么会发生这种情况,因为它在 localhost 上运行良好。
这是我的路由配置。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
namespace ReportGenerator.Web
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{param2}/{param3}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional , param2 = UrlParameter.Optional, param3 = UrlParameter.Optional }
);
}
}
}
更新:链接实际上呈现为空白。 <a href="">
更新 2:如果我从控制器中删除 param2 和 param2,一切都会按预期工作......这到底是什么!?
更新 3:问题已解决,确实是非常奇怪的问题。看我的回答。