웹 브라우저에 표시된 URL을 최적화하고 싶습니다. 나는 라우팅이 완벽하다는 것을 압니다.하지만 내가 원하는 방식으로 라우팅이 가능한지 모르겠습니다. 목록에있는 프로젝트 목록이 있습니다. 각 프로젝트에는 ID, 이름 및 카테고리가 있습니다. 상세 제품 페이지로 이동할 때 표시되는 URL은 "/ category/name"이어야합니다. ActionLink에서 ID, 카테고리 및 이름을 전달하고 Global.asax에서 라우팅을 조정할 수 있음을 알고 있습니다. 나는 이미 그랬지만 여전히 URL의 나머지 부분에 연결된 ID를 가지고 있습니다. 이것은 추한 것입니다.URL이 주소 표시 줄에 라우팅으로 표시되었습니다.
내보기에 ActionLink :
@Html.ActionLink(@p.Name, "Detail", new { projectID = @p.ProjectID, category = @p.Category, name = @p.Name })
Global.asax에 :
routes.MapRoute(null,
"{category}/{name}",
new { controller = "Project", action = "Detail" }
);
결과 URL :
다음은 예입니다
볼 수 있듯이 projectID는 항상 URL 끝에 추가됩니다. 어떻게 그 행동을 피할 수 있습니까?
감사합니다.
카테고리와 이름이 충분하면 왜 ActionLink에서 projectId를 전달해야합니까? – counsellorben
@counsellorben : 주소 표시 줄의 URL에 범주와 이름이 표시되는 것은 흥미 롭습니다. 세부 사항보기로 전달할 올바른 프로젝트를 얻으려면 Action Controller에 ProjectID가 필요합니다. – Bronzato
그러면 깨끗한 URL을 제공하므로 rouen의 대답을 받아 들여야합니다. – counsellorben