如何在Url.Action中发送多个参数?

时间:2014-06-12 07:02:24

标签: asp.net-mvc asp.net-mvc-3 c#-5.0

如何在Url.Action中发送多个参数?

我有一个带动作的控制器,我想要2个参数,但是没有接收到第2个参​​数。

我的代码是:

@Url.Action("Products", "Jquery", new { categoryid = 1, Productid = 2})

Publc Action Jquery(int categoryid ,int Productid)
{

}

但每次categoryid为空时,我才会收到Productid

请建议我做什么?

3 个答案:

答案 0 :(得分:16)

你是从JQuery调用这个动作的吗?听起来你可能是出现症状(至少@roberto可能);如果包含在Html.Raw

@Html.Raw(@Url.Action("Jquery", "Products", new { @categoryid = 1, @Productid = 2}));

答案 1 :(得分:10)

尝试这样。

@Url.Action("Jquery", "Products", new { @categoryid = 1, @Productid = 2})

public ActionResult Jquery(int categoryid, int Productid)
{
    return View();
}

你应该在你的行动中获得2个参数。假设Jquery操作位于ProductController

之下

答案 2 :(得分:3)

我遇到了同样的问题,添加了@并且没有工作。

对我有用的是@Html.Raw指令。

@Html.Raw(@Url.Action("Jquery", "Products", new { categoryid = 1, Productid = 2}))

public ActionResult Jquery(int categoryid, int Productid)
{
    return View();
}

通过这种方式,您可以获得控制器中的所有参数,而不仅仅是第一个参数。