이름없이 매개 변수에 액세스해야합니다. 예 : 컨트롤러 테스트가 있는데 mysite.com/test/data
에 "데이터"를 가져 오려고합니다. 액션 데이터를 호출하지 않고. 색인 작업을 통과하는 방법을 알고 있습니다.ASP.NET MVC 응용 프로그램의 URL을 통해 매개 변수 전달
public ActionResult Index(string id)
"데이터"를 얻을 수 mysite.com/test/Index/data
를 입력 난 단지 필요한 것,하지만 난 지수를 입력하고 싶지 않아 그런 식으로.
누구나 방법을 알고 있습니까?
편집 :
@andyc에게 감사드립니다.
AndyC 나는 당신이 말한 것을 사용하고 테스트를 만들었습니다. 작동했습니다 = D
이제 mysite.com/something을 입력 할 수 있으며 컨트롤러가 아닌 경우 내 프로필 페이지로 리디렉션됩니다.
이
합니다 (RegisterRoutes 방법 내부) 넣어, 당신의 Global.asax 파일에서 나를routes.MapRoute(
"Profile",
"{id}",
new { Controller = "Profile", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
감사합니다. 그게 효과가 있었어. routes.MapRoute ( "Profile", "Profile/{id}", new {컨트롤러 = "프로필", 동작 = "인덱스", id = UrlParameter.Optional} ); 다시 한 번 감사드립니다. – eestein
남자 ...나는 의심의 여지가 하나있다. 아마도 나를 다시 구할 수있을 것이다. = D Profile/{id}를 사용하면 ProfileController 내부에서 액션을 호출 할 수 없다. (예 : 프로필/편집은 "편집"을 문자열 ID로 사용하고 호출 작업은 편집하지 않습니다.)이 문제를 해결할 수있는 방법이 있습니까? 다시 한번 감사드립니다. – eestein
@eestein이 내 대답을 업데이트했습니다. 도움이 되었기를 바랍니다! – AndrewC