首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET 取得 runat=server 下拉選單 (select) 選取文字與值

     編輯:ASP.NET 基礎

前端標記

<select runat="server" id="ddlCategory" class="form-control">
    <option value="1">類別一</option>
    <option value="2">類別二</option>
    <option value="3">類別三</option>
</select>

後端取值方式

// 1. 取得選取項目的文字 (顯示文字)
string text = ddlCategory.Items[ddlCategory.SelectedIndex].Text;

// 2. 取得選取項目的值 (value 屬性)
string value = ddlCategory.Items[ddlCategory.SelectedIndex].Value;

// 3. 簡寫:直接取 Value (等同於 Request.Form["ddlCategory"])
string value2 = ddlCategory.Value; // 需 ASP.NET 4.0+,內部自動轉向 SelectedItem.Value

常見陷阱

寫法結果說明
ddlCategory.SelectedItem.Text✅ 正確推薦,語意清晰
ddlCategory.Items[ddlCategory.SelectedIndex].Text✅ 正確等同上述
ddlCategory.Value✅ 正確 (4.0+)捷徑屬性
Request["ddlCategory"]✅ 正確繞過控制項直接取表單值
ddlCategory.SelectedValue❌ 編譯錯誤HtmlSelect 無此屬性,僅 DropDownList 有

補充:HtmlSelect vs DropDownList

  • <select runat="server"> → System.Web.UI.HtmlControls.HtmlSelect
  • <asp:DropDownList runat="server"> → System.Web.UI.WebControls.DropDownList
  • 兩者 `SelectedIndex`、`Items` 集合操作一致,但 `DropDownList` 多了 `SelectedValue`、`DataSource`/`DataBind` 等資料繫結功能。

小結

使用 `runat="server"` 的原生 `