首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET WebForms 獲取 HTML Input 控件值:Value 屬性與 Request.Form

     編輯:程式設計綜合問答

ASP.NET WebForms 中,運行時標記 runat="server" 的 <input> 控件屬於 HtmlInputText 類,獲取值方式與 TextBox 不同。本文給出兩種正確方法。

場景

<input type="text" id="txt_UserName" runat="server" />

方法一:服務端控件屬性 (推薦)

// 代碼後置
string userName = txt_UserName.Value; // HtmlInputText 使用 Value 屬性
// 或
string userName = this.txt_UserName.Value;
  • 前提:控件有 runat="server" 且 id 匹配
  • HtmlInputText、HtmlTextArea、HtmlSelect 皆用 .Value

方法二:Request.Form 直接取值

string userName = Request.Form["txt_UserName"]; // 返回 string,若無則 null
// 安全寫法
string userName = Request.Form["txt_UserName"]?.ToString() ?? "";
  • 不依賴 runat="server",普通 HTML <input name="txt_UserName"> 也可取值
  • 適用於動態生成、大量表單字段批量獲取

對比總結

方式適用控件需 runat="server"類型安全
.ValueHtmlInputText 等是強類型
Request.Form[key]所有 name 屬性表單元素否需判空/轉型

推薦優先使用 .Value,代碼可讀性強且享受 IDE 智能提示。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved