매개 변수와 URL 사이에 % 20 문자가 표시되면 내 MVC 라우팅이 해당 문자열을 고려하지 않습니다.% 20 다음에 슬래시를 추가하여 데이터를 추가하면 ASP.NET MVC 3 라우팅이 실패합니까?
왜 그런가요? 내 URL에서 "% 20"문자 처리 방법에 어떻게 접근 할 수 있습니까?
예 URL은
http://localhost:40494/ListContents/Delete/asdf%20/5430f394...
public ActionResult Delete(string DNSName, Guid id)
{...}
routes.MapRoute(
"Delete", // Route name
"ListContents/Delete/{DNSName}/{id}", // URL with parameters
new { controller = "ListContents", action = "Delete" } // Parameter defaults
);
그러나는 모두 다음 URL은
http://localhost:40494/ListContents/Delete/asdf%20SOMETHING_HERE/5430f394...
http://localhost:40494/ListContents/Delete/%20asdf/5430f394-946c-4f82-ac13-9d5efafe9127
이것이 디버깅해야 할 것과 똑같은지 ... 내가 가진 공간이 두 번째 매개 변수의 백 슬래시보다 먼저 나오는지 확인해야합니다. – LamonteCristo
슬래시 앞에 빈 공간이있는 URL의 모든 섹션에서 발생하는 것을 분명히하기 위해 약간 대답을 변경했습니다. –
흥미 롭습니다. MVC의 실제 경로를 다루지 않기 때문에 데이터베이스의 변수 만 유효하거나 유용한 검사입니까? XSS 확인이 여기에서 더 효과적 일 수 있습니다. – LamonteCristo