2012-08-26 4 views
0

저는 CodeIgniter에 익숙하므로 초보자는 아니지만 C#/.NET을 사용하여 MVC로 이동하면 확실히 느껴집니다. 아래 컨트롤러를 호출하면 URL의 슬래시로 구분 된 인수를 컨트롤러 입력 매개 변수에 제대로 바인딩 할 수 있습니다. 예 : 이 fileID = 51을 제공 할 것으로 예상됩니다. 그러나, 내가 이것을 실행할 때, fileID는 컨트롤러가 호출 될 때 null이다. HttpGet과 함께 querystring이 필요합니까? & 또는 제대로 연결하기 위해 어떻게 든 경로를 수정해야합니다. 도와주세요?CodeIgniter에서 ASP.NET으로 이동 - 기본 컨트롤러 동작을 이해하지 못함

[HttpGet] 
    public ActionResult Download(String fileID)     
    { 
    ....// http://localhost/Download/51 
    } 

답변

1

하나에 구성된 기본 경로 매개 변수 이름은 id를 사용하여 Global.asax :

[HttpGet] 
public ActionResult Download(string id) 
{ 
    ....// http://localhost/Download/51 
} 

또는 fileID 사용 그래서 라우팅 구성 변경 :

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{fileid}", 
    new { controller = "Home", action = "Index", fileid = UrlParameter.Optional } 
); 

은 또한 체크 아웃을 라우팅에 대한 자세한 내용은 following을 참조하십시오.

+0

감사합니다. param 이름이 경로와 컨트롤러 사이에서 일치해야한다는 것을 알지 못했습니다. – goldfinger

관련 문제