Segment Feature 사용하기

발행: (2026년 2월 28일 오전 06:28 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

Overview

Segment 속성은 ASPX 페이지에 적용할 수 있습니다. 이 속성을 활성화하면 .aspx 파일 뒤에 나타나는 모든 경로 부분이 세그먼트로 간주되어 동일한 실행 페이지로 라우팅됩니다. 이 기능을 사용하면 쿼리 문자열 없이도 URL 경로를 완전히 제어할 수 있습니다.

Enabling Segment on a Page

...

Example Paths

If Segment is enabled on /page/about.aspx

/page/about.aspx/segment1/segment2/.../segmentN

파일 /page/about.aspx가 여전히 실행되며, 추가된 부분은 세그먼트로 사용할 수 있습니다.

If Segment is enabled on /page/about/Default.aspx

다음 두 URL 모두 동작합니다:

/page/about/Default.aspx/segment1/segment2/.../segmentN
/page/about/segment1/segment2/.../segmentN

Accessing Segment Values

세그먼트는 0부터 시작하는 인덱스를 가집니다.

// Given URL: /page/about/segment1/segment2/segment3
Segment.GetValue(0) // returns "segment1"
Segment.GetValue(1) // returns "segment2"
Segment.GetValue(2) // returns "segment3"

In Views (Razor‑style)

segment 1 is: @Segment.GetValue(0)
segment 2 is: @Segment.GetValue(1)

In Classic ASPX Syntax

segment 1 is: 
segment 2 is: 

In Code‑Behind

using CodeBehind;

namespace YourProjectName
{
    public partial class DefaultController : CodeBehindController
    {
        public void PageLoad(HttpContext context)
        {
            Write(Segment.GetValue(0));
            Write(Segment.GetValue(1));
        }
    }
}

Checking Segment Existence

@if (!Segment.Exist(0))
{
    Value does not exist
}

Interaction with MVC Routing

기본 MVC 구성에서는 컨트롤러 라우팅에 대해 Segment 기능이 자동으로 활성화됩니다.

using CodeBehind;

public partial class User : CodeBehindController
{
    public void PageLoad(HttpContext context)
    {
        // path: /user/{id}
        Write(Segment.GetValue(0));
    }
}

Rewrite ASPX File to Directory

CodeBehind 프레임워크는 .aspx 파일 경로를 디렉터리 이름으로 재작성할 수 있습니다. 이 옵션을 활성화하면 .aspx 확장자를 생략한 라우트가 디렉터리 경로로 처리됩니다.

# CodeBehind options (do not change order)
rewrite_aspx_file_to_directory=true

Example

  • /page/contact.aspx에 접근할 때 /page/contact로 사용
  • 세그먼트를 계속 추가 가능: /page/contact/segment1/segment2/.../segmentN

Note: 이 재작성 옵션을 활성화해도 추가적인 처리 오버헤드가 발생하지 않습니다.

Limitations

특정 파일에 Segment가 활성화된 경우, 해당 파일이 포함된 하위 디렉터리의 ASPX 뷰 파일에 접근할 수 없게 됩니다.
예를 들어, /page/about/Default.aspx에 Segment가 활성화되면 /page/about/license/Default.aspx 경로는 접근이 불가능합니다.

Resources

  • CodeBehind on GitHub:
  • CodeBehind NuGet package:
  • CodeBehind documentation page:
0 조회
Back to Blog

관련 글

더 보기 »

과거와의 마지막 춤🕺

소개 안녕하세요 dev.to 커뮤니티! 일주일 전에 저는 저를 소개하고, 웹 개발을 떠나 cryptograph에 집중하기 위해...

JavaScript: 시작

JavaScript 1995년, 브렌던 아이크라는 프로그래머가 넷스케이프에서 일하고 있었습니다. 그 당시 웹사이트는 대부분 정적이었으며—정보를 표시할 수는 있었지만, ...