MVC 애플리케이션이 있고 UI 팀에서 채용 정보 페이지의 URL을 mydomain.com/careers/{jobTitle}/{JobCode}
형식으로 요청했습니다. 이 같은 경력 컨트롤러에서이 작업을 수행 할 수 있습니다사용하지 않는 MVC 라우팅 매개 변수 처리 방법
public ActionResult Detail(string jobTitle, string jobCode)
{
var model = getModelFromDb(JobCode);
return View(model);
}
문제는 우리가 사용되지 않는 매개 변수를 끝낼 수 있도록 우리가 작업 코드로 제목을 직업 정보를하지 찾아 볼 것입니다. 나는 이것이 최선의 방법이라고 생각하지 않는다. 특히 당신이 직업 타이틀을 원하는대로 입력 할 수 있고 직업 세부 사항을 되 찾을 수 있기 때문에 특히 그렇습니다. 이와 같은 URL은 여전히 작동합니다 (mydomain.com/careers/yourmom/1234).
나는 항상 제목과 코드로 직업을 찾을 수 있다고 생각하지만 코드가 고유하기 때문에 무의미한 것처럼 보입니다.
url에 추가 매개 변수를 구현하고 잘못된 작업 제목이 URL에 삽입되는 것을 방지하는 더 좋은 방법이 있습니까?
당신이 시도 할 수있는 한가지는 jobTitle을 선택 사항으로 지정하는 것입니다.하지만 URL 형식을 {JobCode}/{jobTitle}로 변경하면 옵션이 아닌 것 같습니다. – Zippy
이 질문과 대답을 살펴보십시오 http://stackoverflow.com/questions/24678045/routing-optional-parameters-in-asp-net-mvc-5. – Emil
라우팅에서 선택적 매개 변수를 사용할 수 있습니다. 'slug'경로 ('jobCode' 만 포함하면'jobcode'와'jobTitle' 둘 다에 url이 포함됩니다)를 원할 것 같습니까? 그렇다면 [이 답변] (http://stackoverflow.com/questions/30349412/how-to-implement-url-rewriting-similar-to-so/30363600#30363600)을 참조하십시오. –