TextBoxWatermarkExtender 是 AJAX Control Toolkit 提供的擴充控制項,能在 TextBox 為空時顯示灰色提示文字(水印),使用者點擊輸入時自動消失,無需撰寫任何 JavaScript。
<asp:TextBox ID="txtCCEmail" runat="server" TextMode="MultiLine" Height="50" CssClass="textbox" Width="250"></asp:TextBox><br />
<ajaxToolkit:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender3" runat="server"
TargetControlID="txtCCEmail"
WatermarkText="sample1@yourcompany.com; sample2@yourcompany.com;"
WatermarkCssClass="watermarked">
</ajaxToolkit:TextBoxWatermarkExtender>
| 屬性 | 說明 |
|---|---|
TargetControlID | 目標 TextBox 控制項 ID |
WatermarkText | 水印提示文字,支援多行(以分號或換行分隔) |
WatermarkCssClass | 水印樣式類別,通常設定灰色字體、斜體等 |
.watermarked {
color: #999;
font-style: italic;
}
範例中 WatermarkText 使用分號分隔兩個 Email 範例,瀏覽器會自動在多行 TextBox 中換行顯示。若需更精確控制換行,可在字串中直接嵌入 \n(需在代碼後端指派)或使用 CSS white-space: pre-wrap。
ToolkitScriptManager 已放置頁面上,且 ajaxToolkit 命名空間正確註冊。Page_Load 清空 TextBox 值。RequiredFieldValidator 時,水印文字不會被視為有效輸入,驗證邏輯不受影響。HTML5 原生支援 placeholder 屬性:
<asp:TextBox ID="txtEmail" runat="server" TextMode="MultiLine" placeholder="sample1@yourcompany.com; sample2@yourcompany.com;" />
若專案已棄用 AJAX Control Toolkit,建議改用原生 placeholder 或前端框架元件,減少相依性。