MVC ActionLink无法正确显示

时间:2015-01-29 18:22:14

标签: c# asp.net-mvc

我的目标是将链接显示为mydomain.com/viewPhone/1

目前,该链接显示为Home / phoneCatalog,并且未显示我的ID

ROUTING

  routes.MapRoute(
        name: "phoneCatalog",
        url: "viewPhone/{phoneID}",
        defaults: new { controller = "Home", action = "phoneCatalog",}
    );

CONTROLLER

public ActionResult phoneCatalog(int phoneID)
{
//CODE HERE
}

MVC VIEW

<span class="floatL w100">@Html.ActionLink(title, "phoneCatalog", "Home", new { phoneID = orderItem.phoneID }, null)


              </span>

2 个答案:

答案 0 :(得分:0)

请改用@Html.RouteLink。您可能仍然定义了后退{controller}/{action}/{id}路由。

@Html.RouteLink(title, "phoneCatalog", new { phoneID = orderItem.phoneID })

答案 1 :(得分:0)

您应该使用属性路由。如果您对操作使用不同的名称而不是默认值,它会为您提供更大的灵活性。

易于使用。

退房: http://blogs.msdn.com/b/webdev/archive/2013/10/17/attribute-routing-in-asp-net-mvc-5.aspx

[Route("viewPhone/{phoneID:int}")]
public ActionResult phoneCatalog(int phoneID)
{
//CODE HERE
}

试试这个。