저는 C#에 대해 많이 알고 있으며 프론트 엔드 개발자입니다. 나는 면도기보기에서 물을 튀기고 있었고 그래서 나는 그 주위를 돌아 다닐 수 있었다. 일부 C# 라우팅이 필요할 수도있는 프로젝트를 개발 중입니다. (제 제한적인 이해로 인한 것 같습니다).물리적 리소스가 존재하지 않는 경우에만 일반 Razor 페이지로 연결
정적 리소스 (실제 .cshtml 페이지)와 데이터베이스에 저장된 콘텐츠가 혼합 된 웹 사이트를 구축했습니다. 이러한 콘텐츠 조각에 대한 모든 링크는 핸들 막대 템플릿을 통해 생성되므로 내가 알고있는 템플릿 내에서 Razor를 사용할 수 없습니다. 데이터베이스 콘텐츠는 page.cshtml
을 사용해야하며 URL에서 페이지을 제거해야합니다. 그래서 본질적으로
, 당신이 my-page.cshtml
가있는 경우 다른 확인 http://www.example.com/page/my-page
가 http://www.example.com/my-page
로 다시 사용해야 http://www.example.com/my-page
을했다.
나는 이것을 사용하려고 해요하지만 작동하지 않습니다 :
using System.Web.Routing;
public class Routes
{
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("Deals",
"/{page}", "~/page.cshtml");
}
}
은 면도기를 사용이 가능합니까? C# RouteConfig을 통해 라우팅을 시도했지만 프로젝트에서 .NET의 V4를 사용하므로 특성 라우팅이 작동하지 않습니다. 또한 디렉토리 내에있는 페이지가 있기 때문에 catchall 라우트를 사용할 수 없습니다.
DB에 /page/
에 대한 링크를 명시 적으로 지정하고 IIS를 다시 쓸 수있는 유일한 방법은 무엇입니까?
내 다른 옵션은 항상 page.cshtml
을 칠하고 내 DB의 내용을 찾을 수없는 경우, 그것은 부분적으로 my-page.cshtml
에로드합니다. 그러나 누군가가 주소 표시 줄에 http://www.example.com/my-page
을 입력하면 어떻게됩니까? 내-page.cshtml 파일 경우 확인할 수