HTML 控件是標準 HTML 標籤加上 runat="server" 後的伺服器端對應物件,位於 System.Web.UI.HtmlControls,讓後端程式碼能直接操作標籤屬性、事件與內容。
runat="server" 者視為純文字輸出至瀏覽器| 屬性 | 行為 | 適用場景 |
|---|---|---|
| InnerHtml | 輸出內容並解析 HTML 標籤 | 需輸出格式化文字、連結、圖片等 HTML 結構 |
| InnerText | 純文字輸出,HTML 標籤轉義顯示 | 使用者輸入內容、防 XSS、純文字顯示 |
<html>
<form runat="server">
<button id="btn1" runat="server" onserverclick="btn1_Click" /><p>
<span id="sp1" runat="server" /><br>
<span id="sp2" runat="server" />
</form>
<script language="vb" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
btn1.InnerText = "請按我"
sp1.InnerHtml = "凱際資訊"
sp2.InnerText = "凱際資訊工作室"
End Sub
Sub btn1_Click(sender As Object, e As EventArgs)
sp1.InnerHtml = "<b>ASP.NET</b>" ' 粗體渲染
sp2.InnerText = "<b>ASP.NET</b>" ' 顯示原始標籤
End Sub
</script>
</html>
| 特性 | HTML 控件 (runat="server") | Web 控件 (<asp:TextBox>) |
|---|---|---|
| 點擊事件 | OnServerClick | OnClick |
| 取值屬性 | .Value | .Text |
| Span 寫入 | .InnerText / .InnerHtml | N/A |
將現有 <input>、<select> 等標籤加上 runat="server" id="...",即可在後端存取,無需重寫為 Web 控件,是最低成本的 ASP.NET 遷移路徑。