2014-06-12 5 views
8

Url.Action에 여러 매개 변수를 어떻게 보내나요?Url.Action에서 여러 매개 변수를 어떻게 보내나요?

컨트롤러에 작업이 있지만 두 개의 매개 변수를 원하지만 두 번째 매개 변수를받지 못했습니다.

내 코드는 다음과 같습니다

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

Publc Action Jquery(int categoryid ,int Productid) 
{ 

} 

하지만 난 단지 categoryid받을은, 때마다 Productid가 null입니다.

제발 저에게 제안 하시겠습니까?

+0

, 아직'Jquery' 액션 메소드의 서명은'categoryid'에 대한'int'을 사용합니다 그렇다면 것은 Html.Raw에 포장. 'new {categoryid = 1, Productid = 2}'시도하십시오. –

+0

오타가 아닌 반환 유형이'ActionResult'이고 매개 변수가 혼합되어 있는지 확실하지 않습니다.'@ Url.Action ("actionName ","controllerName ","object params ")' –

+0

@robwaminal"object params "를 사용하는 방법을 알려주시겠습니까? –

답변

8

이렇게 해보십시오.

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

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

작업에 2 개의 매개 변수가 있어야합니다. Jquery 동작이 있다고 가정하면 ProductController

+0

나는 이것을 시도했지만 작동하지 않고 2 번째 파라를받을 수 없다. 항상 null입니다 –

+0

'@'를 param 객체 매개 변수에 추가하면 문제가 해결됩니다. –

+0

실제로 매개 변수 접두어에'@'을 붙이면 상관 없습니다. 그것은 여전히 ​​첫 번째 작품입니다. 나는 그것을 설명하는 방법을 모르겠다. 어쩌면 오타 오류가있을 수 있습니까? –

7

이 작업을 JQuery에서 불러 왔습니까? 당신이 증상 (또는 적어도 @roberto 일 수 있음)에서있을 수있는 것처럼 들리네. 당신은 문자열로`categoryid`을 지정하는

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