# System.Web.WebPages

**Kind:** Service

**Source:** `Pams/Core/Pams.Core/Pams.Core.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Web.WebPages` is a NuGet dependency referenced by `Pams.Core.csproj`. It supports ASP.NET Web Pages and Razor-related runtime APIs used by legacy .NET Framework components in the Pams system.

## Diagram

```mermaid
sequenceDiagram
    participant Browser
    participant WebApp as Pams Web Application
    participant Core as Pams.Core
    participant WebPages as System.Web.WebPages
    participant Razor as Razor View

    Browser->>WebApp: Request page
    WebApp->>Core: Execute application logic
    Core->>WebPages: Resolve Web Pages APIs
    WebPages->>Razor: Render page content
    Razor-->>WebApp: Rendered HTML
    WebApp-->>Browser: HTTP response
```

## Usage

```ts
async function loadPamsPage(path: string): Promise<string> {
  const response = await fetch(path, {
    headers: {
      Accept: "text/html",
    },
  });

  if (!response.ok) {
    throw new Error(`Page request failed: ${response.status}`);
  }

  return response.text();
}

// The ASP.NET application renders this route through APIs
// available from the System.Web.WebPages package.
const html = await loadPamsPage("/pams/dashboard");
document.body.innerHTML = html;
```

## AI Coding Instructions

- Keep `System.Web.WebPages` references compatible with the legacy .NET Framework project format in `Pams.Core.csproj`.
- Do not import this package from TypeScript or browser code; client code should interact with rendered pages or HTTP endpoints.
- Check Razor and Web Pages API usage before removing or changing this dependency.
- Preserve existing assembly references and package restore settings when editing the project file.
