對應原生 HTML 標籤,加上 runat="server"。命名空間 System.Web.UI.HtmlControls。
| HTML 標籤 | 伺服器控制項類別 | 關鍵屬性/事件 |
|---|---|---|
<form> | HtmlForm | Action, Method, Submit 事件 |
<input type="text"> | HtmlInputText | Value, MaxLength, Size, ServerChange |
<input type="checkbox"> | HtmlInputCheckBox | Checked, ServerChange |
<select> | HtmlSelect | Items, SelectedIndex, ServerChange |
<img> | HtmlImage | Src, Alt, Align |
<table> | HtmlTable | Rows, Cells, Border, CellPadding |
| 其他無對應標籤 | HtmlGenericControl | TagName, InnerHtml, InnerText |
範例:
<form id="form1" runat="server">
<h3>姓名:<input type="text" id="txtName" runat="server" /></h3>
<select id="ddlCategory" runat="server">
<option>心理學</option>
<option>商業</option>
</select>
<input type="submit" value="查詢" runat="server" />
</form>
功能更豐富、抽象層次更高、標記前綴 asp:。命名空間 System.Web.UI.WebControls。
| 控制項 | 用途 | 關鍵特性 |
|---|---|---|
TextBox | 文字輸入 | TextMode (Single/MultiLine/Password), AutoPostBack, TextChanged |
Button | 命令按鈕 | CommandName, CommandArgument, Click, Command |
DropDownList | 下拉選單 | Items, SelectedValue, AppendDataBoundItems, SelectedIndexChanged |
GridView | 資料表格 | 資料繫結、分頁、排序、編輯、樣板、樣式 |
AdRotator | 輪播廣告 | AdvertisementFile (XML), KeywordFilter, Impressions |
Calendar | 日期選擇 | SelectedDate, VisibleDate, SelectionMode, DayRender |
Wizard | 精靈導航 | WizardSteps, FinishComplete, Next/Previous 按鈕自動管理 |
<form runat="server">
<asp:AdRotator ID="adRotator" runat="server"
AdvertisementFile="~/App_Data/Ads.xml"
BorderWidth="1" BorderColor="Black" />
</form>
Ads.xml:
<Advertisements>
<Ad>
<ImageUrl>~/images/ad1.jpg</ImageUrl>
<NavigateUrl>https://example.com/product1</NavigateUrl>
<AlternateText>產品一優惠</AlternateText>
<Impressions>80</Impressions>
<Keyword>electronics</Keyword>
</Ad>
<Ad>...</Ad>
</Advertisements>
__VIEWSTATE,預設啟用。<asp:Button ID="btnSubmit" Text="送出" OnClick="btnSubmit_Click" runat="server" />
<asp:DropDownList ID="ddl" AutoPostBack="true" OnSelectedIndexChanged="ddl_Changed" runat="server" />
伺服器事件分類:
DataBind() 時觸發。| 情境 | 推薦 | 理由 |
|---|---|---|
| 移植舊 ASP/HTML 頁面、需精確控制輸出標記 | HTML 伺服器控制項 | 一對一對應、輕量、無額外抽象 |
| 新專案、資料密集型表單、需豐富功能(驗證、資料繫結、樣板) | Web 伺服器控制項 | 生產力高、功能完整、生態系豐富 |
| 行動裝置專用頁面 | Mobile 控制項 (System.Web.UI.MobileControls) | 自適應渲染 WML/cHTML/HTML |
ASP.NET 2.0 提供完整的伺服器控制項生態系:從輕量的 HTML 伺服器控制項到功能豐富的 Web 伺服器控制項,涵蓋表單輸入、資料呈現、導航、廣告、行動裝置等各類需求。掌握兩大家族特性、事件模型、狀態管理與設計時工具,即能高效打造互動豐富、好維護的 Web 應用程式。