2012-10-12 3 views
0

기본 라우팅을 유지하는 데 사용되었지만 충돌로 인해 기본 매개 변수 idparamid으로 변경되었습니다.라우팅 기본 매개 변수 이름 변경

일반적으로, 내가보기에이 같은 코드를 사용했다 :

@Url.Action("Edit", "Suivis", new {o.ID}) 

그리고이 컨트롤러에서 :하지만 더 이상 작동하지 않습니다, 그것은 사용하는 나를 강제로

public ActionResult Edit(int id) { ... } 

:

:
@Url.Action("Edit", "Suivis", new {paramid = o.ID}) 

내 컨트롤러 코드입니다
public ActionResult Edit(int paramidid) { ... } 

내 질문은 : 왜 이제보기에서 매개 변수 이름을 지정해야합니까? 원래의 행동에

답변

1

: 익명 유형이 같은 이름 (ID)로 생성되고 있었다

@Url.Action("Edit", "Suivis", new {o.ID}) 

. 경로 매개 변수에서 예상되는 경로를 paramid로 변경해야했기 때문에 - 새로운 {ID = o.ID}로 변환하는 o.ID를 전달하려고하면 경로가 일치하지 않습니다. paramid를 찾고 있습니다.

그것은 뷰 모델이 있다면, 당신은 paramid되는 속성을 변경할 수

-

@Url.Action("Edit", "Suivis", new {o.paramid}) 

그것은 다시 작동합니다 -하지만,보다 가치이 더 문제가 될 수있다.