在MVC 3中的url中传递多个参数

时间:2011-04-27 06:18:00

标签: asp.net asp.net-mvc-3

我在控制器中有一个名为“Registration”的动作方法

public ActionResult Facility(int id = 0, int contractId = 0)

当我从url调用此方法时,如

/Registration/Facility/0?contractId=0

它工作正常。现在,当我尝试用另一种方法构建上面的url时,如

return RedirectToAction("Facility/0?contractId="+ model.ContractId);

它不起作用,浏览器中的url构造不好就像

/Registration/Facility/0%3fcontractId%3d0

任何人都可以告诉我,我在这里做错了什么?

3 个答案:

答案 0 :(得分:11)

试试这个:

return RedirectToAction("Facility", new { id = 0, contractId = model.ContractId});

请参阅this answer

答案 1 :(得分:1)

有一个用于重定向的内置方法重载。传入一个包含所需值的匿名对象

return RedirectToAction("Facility", new { id = 0, contractId = model.ContractId });

答案 2 :(得分:0)

你必须传递如下参数:

return RedirectToAction("Facility", new { contractId = model.ContractId });