Skip to main content

On This Page

Advanced URL Management in .NET: Mastering the Segment Attribute in Elanat

2 min read
Share

These articles are AI-generated summaries. Please check the original sources for full details.

Using the Segment Feature

The Segment attribute, developed by the Elanat team, allows all path parts after an ASPX file path to be routed to the same executing page. This feature eliminates the dependency on standard query strings for parameter passing in the CodeBehind framework.

Why This Matters

Traditional routing often requires complex configuration or query strings that clutter URLs and complicate SEO. By treating path parts as segments, developers gain a direct mapping between URL structure and application logic, though they must account for the technical reality that enabling Segment on a specific path blocks the execution of ASPX files located in its subdirectories.

Key Insights

  • Zero-based indexing is used for data retrieval, accessible via Segment.GetValue(n) across View, Controller, and Model layers.
  • The Exist method provides a safety check for segment presence before access, preventing null reference errors during page execution.
  • The rewrite_aspx_file_to_directory option allows accessing .aspx files as directories with zero additional processing load.
  • Segment is automatically enabled in controller routing within the default MVC configuration of the CodeBehind framework.

Working Examples

Enabling Segment in Razor Syntax

@page
+@segment
<!DOCTYPE html>
<html>
...

Enabling Segment in Standard ASPX Syntax

<%@ Page Segment="true" %>
<!DOCTYPE html>
<html>
...

Accessing Segment values within a Controller

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

Practical Applications

  • Use case: Dynamic User Profiles using /user/{id} where {id} is retrieved via Segment.GetValue(0) in the Controller logic.
  • Pitfall: Path Collisions—enabling Segment on /page/about/Default.aspx makes nested paths like /page/about/license/Default.aspx inaccessible.
  • Use case: SEO-friendly directory structures using rewrite_aspx_file_to_directory to serve /page/contact.aspx via the /page/contact path.

References:

Continue reading

Next article

Famous Labs: Scaling Autonomous Software Through Synthetic Intelligence

Related Content