本文彙整 Web Pages 執行期內建的動態物件、輔助方法與屬性,涵蓋型別轉換、URL 處理、HTML 編碼、版面配置、要求回應、伺服器工具、Session、快取、重導向等核心功能。
| 方法 | 描述 | 回傳值 |
|---|---|---|
| AsBool() / AsBool(fallback) | 字串轉布林,失敗回傳 false 或指定預設值 | Boolean |
| AsDateTime() / AsDateTime(fallback) | 字串轉 DateTime,失敗回傳 MinValue 或指定預設值 | DateTime |
| AsDecimal() / AsDecimal(fallback) | 字串轉 Decimal,失敗回傳 0.0 或指定預設值 | Decimal |
| AsFloat() / AsFloat(fallback) | 字串轉 Float,失敗回傳 0.0 或指定預設值 | Double |
| AsInt() / AsInt(fallback) | 字串轉 Int,失敗回傳 0 或指定預設值 | Int32 |
| IsBool() / IsDateTime() / IsDecimal() / IsFloat() / IsInt() | 檢查字串是否可轉換為指定型別 | Boolean |
| 方法/屬性 | 描述 |
|---|---|
| Href(path [, param1, param2]) | 由虛擬路徑產生瀏覽器可用 URL,自動處理 ~ 運算子與查詢字串 |
| UrlData[index] | 取得 URL 額外路徑段落 (如 /Page/ExtraData → UrlData[0]="ExtraData") |
| 方法 | 描述 |
|---|---|
| Html.Raw(value) | 直接輸出 HTML 標記,不進行編碼 (需確信內容安全) |
| Server.HtmlEncode(text) | HTML 編碼 (< → < 等),防 XSS |
| Server.HtmlDecode(htmlText) | HTML 解碼 |
| Server.UrlEncode(text) | URL 編碼 (查詢字串參數) |
| Server.UrlDecode(urlText) | URL 解碼 |
| 方法/屬性 | 描述 |
|---|---|
| Layout | 設定/取得版面配置頁面路徑 (如 "~/Shared/_Layout.cshtml") |
| RenderBody() | 版面頁中渲染內容頁主體 (非命名區塊) |
| RenderPage(path, values) | 渲染指定頁面,可傳遞額外資料 (位置或鍵值) |
| RenderSection(sectionName [, required = true|false]) | 版面頁中渲染命名內容區塊,required 控制是否強制 |
| @section(sectionName) { content } | 內容頁定義命名區塊內容 |
| 屬性/索引子 | 描述 |
|---|---|
| Request.Form[key] | POST 表單欄位值 (字串) |
| Request.QueryString[key] | 查詢字串參數值 (字串) |
| Request[key] | 合併檢查 Form、QueryString、Cookies |
| Request.Cookies[key] | Cookie 值存取 |
| Request.Files[key] | 上傳檔案集合 (HttpPostedFileBase) |
| Request.Unvalidated(key) | 略過驗證存取 (Form/QueryString/Cookies/Headers),慎用 |
| IsPost | 目前要求是否為 POST (初始要求通常為 GET) |
| 方法 | 描述 |
|---|---|
| Response.WriteBinary(data [, mimeType]) | 輸出二進位資料 (檔案下載、圖片輸出) |
| Response.WriteFile(file) | 輸出檔案內容 |
| Response.Redirect(path) | HTTP 302 重導向至新位置 |
| Response.SetStatus(httpStatusCode) | 設定 HTTP 狀態碼 (404, 500, 201 等) |
| Response.AddHeader(name, value) | 新增 HTTP 回應標頭 |
| Response.OutputCache(seconds [, sliding] [, varyByParams]) | 輸出快取,sliding 重設存取計時,varyByParams 依查詢字串區分快取版本 |
| 方法 | 描述 |
|---|---|
| Server.MapPath(virtualPath) | 虛擬路徑轉實體路徑 (~/App_Data/file.txt → C:\Webs\App_Data\file.txt) |
| Server.HtmlEncode/Decode | 同上 HTML 編碼解碼 |
| Server.UrlEncode/Decode | 同上 URL 編碼解碼 |
| 屬性/索引子 | 描述 |
|---|---|
| Session[key] | 工作階段變數存取 (瀏覽器關閉前有效) |
| Application[key] | 應用程式層級共享資料 (所有使用者可見) |
| Cache[key] | 快取物件存取 (支援過期、相依性、回調) |
| 屬性/索引子 | 描述 |
|---|---|
| PageData[key] / PageData[index] | 頁面、版面頁、部頁間共享資料 (索引子存取) |
| Page.PropertyName | 動態屬性存取共享資料 (如 Page.Title) |
| 操作 | 語法 |
|---|---|
| 讀取 | Request.Cookies["name"]?.Value |
| 寫入 | Response.Cookies["name"] = "value"; Response.Cookies["name"].Expires = DateTime.Now.AddDays(30); |
| 刪除 | Response.Cookies["name"].Expires = DateTime.Now.AddDays(-1); |
| 項目 | 描述 |
|---|---|
| IsEmpty() | 物件/變數是否為 null 或空字串 |
| ToString() | 物件字串表示 |