2012-11-05 4 views
0

객체 유형을 전달하려면 작은 도움이 필요합니다. 컨트롤러에 매개 변수가 있습니다. 내가 직접 객체를 전달 시도, 여기HTML.ActinLink는 객체를 전달합니다. 매개 변수

System.Web.Mvc.HtmlHelper<dynamic>ActionLink라는 이름의 적용 방법 이 없습니다 있지만 이름으로 확장 방법을 가지고 나타나는 예외에게 있습니다.
확장 메서드를 동적으로 디스패치 할 수 없습니다.
동적 인수를 캐스팅하거나
확장 메서드 구문없이 확장 메서드를 호출하는 것이 좋습니다.

I 타입 캐스팅에 대한 코드를 추가하더라도

,하지만 여전히 그것은

InProgressGrid.Column(header: "File Name", columnName: "FileName",format:(item) => Html.ActionLink(((string)item.FileName), "DownloadReport", (Domain.UserObject)item ,null)) 

나는 액션 메소드

InProgressGrid.Column(header: "File Name", columnName: "FileName",format:(item) => Html.ActionLink(((string)item.FileName), "DownloadReport", new {FileName = item.FileName,PK= item.PartitionKey },null)), 

를 컨트롤러에 하나 개 이상의 매개 변수를 전달할 수있는 방법이 있나요 위와 같이 오류를 컴파일 던져 이제 응용 프로그램을 실행할 때 단 하나의 속성 즉를 봅니다.

는 탄원이 나를 도와

, 당신이 필요한

답변

0

매우 시급하다 일할 수 위의 조건에 대한 글로벌 라우팅에 어떤 변화가 ... 파일 이름은 통과하지만에 PartitionKey는 컨트롤러의 액션 매개 변수에 전달되지 경로를 추가하려면

routes.MapRoute(
    "ReportDownload",  // Route name 
    "Reports/{PK}/{FileName}",       // URL with parameters 
    new { controller = "Reports", action = "DownloadReport", PK = "", FileName="" } // Parameter defaults 
); 

컨트롤러 이름을 바꾸십시오.

관련 문제