Asp.net Mvc 의 Action 이 여러 매개 변 수 를 어떻게 전달 하 는 지 에 대한 방법

최근 작업 에 필요 한 것 이 있 습 니 다.사용자 가 로그 파일 정 보 를 조회 하고 구체 적 인 로그 정 보 를 조회 하 며 로그 가 있 는 날짜 의 다른 로그 정보 목록 을 동시에 볼 수 있 습 니 다.
이 기능 을 완성 하기 위해 URL 에 두 개의 인 자 를 입력 하려 고 합 니 다.하 나 는 로그 시간 을 기록 하고 다른 하 나 는 로 그 를 기록 하 는 메 인 키 ID 입 니 다.따라서 Asp.net MVC 의 경로 에서 시작 하려 고 합 니 다.
Global.asax 파일 에서 기본 경 로 는 다음 과 같 습 니 다.

routes.MapRoute(
        "Default", //     
        "{controller}/{action}/{id}", //       URL
        new { controller = "Logon", action = "Logon", id = UrlParameter.Optional } //      
      );
이 경로 에 서 는 Action 뒤에 하나의 인자 만 들 어 갈 수 있 고 여러 개의 인자 가 들 어 갈 수 없 기 때문에 경로 정 보 를 추가 해 야 합 니 다.
Global 파일 에 경로 이름 이"Default 1"이 고 코드 는 다음 과 같 습 니 다.

//             
routes.MapRoute("Default1",
"{controller}/{action}/{Parma1}/{Parma2}",
new { controller = "", action = "" },
new { });
상술 한 경 로 는 두 개의 매개 변 수 를 전달 할 수 있다.
여기 서 Test Controller 를 만 들 고 Test.cshtml 페이지 를 추가 합 니 다.TestController 에 코드 를 쓰 면 다음 과 같 습 니 다.

public ActionResult Test(string date, string id)
{
ViewData["date"] = date;
ViewData["id"] = id;
return View();
}
Test.cshtml 페이지 에 다음 코드 를 쓰 십시오.

         :@ViewData["date"]<br />
      ID :@ViewData["id"]<br />
컴 파 일 러 를 실행 하고 브 라 우 저 에 입력 하 십시오.http://localhost:11507/Test/Test/2013-12-18/5"페이지 는 다음 과 같 습 니 다.
검색 할 로그 시간:2013-12-18
검색 할 로그 ID:5
지금 또 하나의 문제 가 생 겼 습 니 다.여러 개의 인 자 를 입력 해 야 합 니 다.어떻게 해 야 합 니까?물론 새로운 경로'Default 2'만 추가 합 니 다.코드 는 다음 과 같다.

//           ,                 
routes.MapRoute("Default2",
"{controller}/{action}/{*id}",
new { controller = "", action = "" }

);
컴 파 일 러 를 실행 하고 브 라 우 저 에 입력 하 십시오.http://localhost:11507/Test/Test/2013-12-18/5/xianrongbin"페이지 는 다음 과 같 습 니 다.
검색 할 로그 시간 은:
검색 할 로그 ID:2013-12-18/5/xianrongbin
여기 서 우 리 는 Action 뒤의 모든 인자 만 얻 을 수 있 습 니 다.예 를 들 어 로그 시간 은'2013-12-18'이 고 로그 ID 는'5'이 며 로그 조작 자 는'xianrongbin'입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기