考虑以下路线
routes.MapRoute("Routename1",
"{someEnum}/SpecificAction/{id}/{stringId}",
new { controller = "MyController", id = (int?)null, stringId= (string)null, action = "SpecificAction" },
new { someEnum= "(EnumVal1|EnumVal2)" }
);
考虑以下两种链接方式:
<%=Html.RouteLink("Click me","Routename1", new { id = 32, stringId = "Yatzy" })%>
<%=Html.ActionLink("Click me", "SpecificAction", "EnumVal1", new { id = 32, stringId = "Yatsy" }, null)%>
RouteLink生成正确的url,即/EnumVal1/SpecificAction/32/Yatzy
ActionLink生成一个类似于/EnumVal1/SpecificAction/32?stringId=Yatzy的url
为什么会这样?有人能给我解释一下吗。