Asp.net mvc 4 mvc url.action返回null或url作为get

Asp.net mvc 4 mvc url.action返回null或url作为get,asp.net-mvc-4,asp.net-mvc-routing,Asp.net Mvc 4,Asp.net Mvc Routing,我使用的是mvc Url.Action,如下所示 <a href="@Url.Action("Index", "Product", new { area = "Product", search = UrlParameter.Optional, categoryId = category.IdCategory })"> 我无法获取映射到此路由的url。我得到的是 但是,如果我将操作更改为 @Url.Action("Index", "Product") public ActionRe

我使用的是mvc Url.Action,如下所示

<a href="@Url.Action("Index", "Product", new { area = "Product", search = UrlParameter.Optional, categoryId = category.IdCategory })">
我无法获取映射到此路由的url。我得到的是

但是,如果我将操作更改为

@Url.Action("Index", "Product")
public ActionResult Index( int? categoryId,string search)
{
    return View();
}
我把这个作为Url

http://localhost/iteric/?action=Index&controller=Product

我无法理解这种行为的原因。刚刚开始使用.NETMVC。请帮我做这个

好的,所以要获取Url。生成Url的操作需要控制器中存在该操作,并且参数也应该到位。所以我把控制器的动作改为

@Url.Action("Index", "Product")
public ActionResult Index( int? categoryId,string search)
{
    return View();
}