---
title: UriExtensions
summary: API reference for UriExtensions.
status: draft
owner: saif-docgen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common
reference_type: package
---

# UriExtensions

Derives ASP.NET MVC-style application/controller/action/page name fragments from a request `Uri`'s path segments. ([BR-068](../../business-rules.md#br-068-the-application-name-is-url-segment-1), [BR-069](../../business-rules.md#br-069-the-page-name-is-url-segment-2%2C-defaulting-to-%22index%22-when-absent), [BR-070](../../business-rules.md#br-070-the-default-controller%2Faction-route-is-home%2Findex))

## Purpose
- Derives ASP.NET MVC-style application/controller/action/page name fragments from a request `Uri`'s path segments. ([BR-068](../../business-rules.md#br-068-the-application-name-is-url-segment-1), [BR-069](../../business-rules.md#br-069-the-page-name-is-url-segment-2%2C-defaulting-to-%22index%22-when-absent), [BR-070](../../business-rules.md#br-070-the-default-controller%2Faction-route-is-home%2Findex))

## Context
- Namespace: `SAIF.Common.Extensions`
- Assembly/package: `SAIF.Framework.Common`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ApplicationName(this Uri uri) | `public static string ApplicationName(this Uri uri)` | Extracts the virtual application/root segment of the URI path. ([BR-068](../../business-rules.md#br-068-the-application-name-is-url-segment-1)) |
| PageName(this Uri uri) | `public static string PageName(this Uri uri)` | Extracts the final path segment (page/resource name). ([BR-069](../../business-rules.md#br-069-the-page-name-is-url-segment-2%2C-defaulting-to-%22index%22-when-absent)) |
| ControllerAndActionName(this Uri uri) | `public static string ControllerAndActionName(this Uri uri)` | Concatenates URL segments 2 and 3 (controller and action) when both are present, appends "Index" to segment 2 when only the controller segment is present, and otherwise defaults to "Home/Index". ([BR-070](../../business-rules.md#br-070-the-default-controller%2Faction-route-is-home%2Findex)) |


## Sources
- `Common/SAIF.Common/Extensions/UriExtensions.cs`
