2009-07-26 6 views
3

작업 매개 변수를 다른 이름으로 매핑 할 수 있습니까? "에"그래서ASP.NET MVC 작업 매개 변수 이름을 다른 이름으로 매핑

search?q=someQuery&in=location&for=x 

및 방법의 매개 변수 이름으로 사용할 수 없습니다 "에 대한"

나는 다음과 같은 조치에 대한 매개 변수로 예약 된 단어를 사용하고 싶습니다. 기본 제공 기능이 있습니까? 아니면 모델 바인더를 만들어야합니까?

감사합니다.

답변

11

'@'표기법을 사용하면 C#의 예약어가 아닌 문자 그대로 해석 될 수 있습니다.

public ActionResult Test(string @for) 
{ 
    var something = @for; 
} 
+0

위대한. 감사! html 애트리뷰트에서 @class와 같이 완전히 잊어 버렸습니다. 그러나 "in"과 같은 쿼리 항목을 "inLocation"이라는 매개 변수에 매핑하는 것은 어떻습니까? [ActionParameterName ("in")] inLocation과 같은 용도로 ActionParameterNameAttribute를 만들 수도 있습니다. 정확히 [ActionName]과 (과) 같은 작업을 수행합니다. – elado

+7

public ActionResult MyMethod ([Bind (접두사 = "in")] 문자열 inLocation) {...} – Levi

+0

@Levi - 도움이되지 않습니다. –

관련 문제