我配置了这样一条路由
routes.MapRoute(
name: "List",
url: "device/{MMAlias}/{sort}/{version}/{page}",
defaults: new { controller = "Rom", action = "List", sort = UrlParameter.Optional, version = UrlParameter.Optional, page = UrlParameter.Optional }
);
页面上 @Url.Action("List", "Rom", new { MMAlias=ViewBag.MMAlias }
在我本地测试 显示的链接 http://localhost:8138/device/motorola-me525
而发布到服务器上显示的链接是 http://v3.romjd.com/Rom/List?MMAlias=motorola-me525
服务器上必须要 @Url.Action("List", "Rom", new { MMAlias = Alias[0],sort="new",version="all",page=1 }) 这样把所有的可选参数也补齐才能显示正常
求解决问题的方法
可以 试试 指定 路由名
Url.RouteUrl("List",........)
试了,本地可以,服务器上href都没了,应该是服务器上哪有问题
你在Controll的Action方法给定默认值就好了
比如Action名字为List
List(string a=null,int page=1)
{
}