ASP.NET Request 與 Name(表單元素值)

來源:互聯網
上載者:User

ASP.NET中,我們在後台擷取頁面表單元素中的值的方法通常有:
Request.Form (Post) 、Request.QueryString(GET)、Request.Params等幾種。

當然,還可以直接使用Request本身的索引。

-----

有些時候,我們頁面上的表單元素的值(比如下拉式清單)是通過ajax(js)來動態改變的,那在後台再使用.Value這些就不能再擷取到了。

這個時候怎麼辦呢?

一、可以使用一個隱藏控制項來存放選中的值。然後在後台擷取該隱藏控制項的值。

二、我們應該知道,表單元素的值的傳遞是通過name屬性來標識的(不管是Post還是Get)。

  無論值怎麼變,該元素的name還是不變的,那在ASP.NET中,就表示UniqueID是不變的,那我們就可以通過

      Request[***.UniqueID]來擷取元素值。

------

那如果頁面上有多個具有相同name的元素時,我們怎麼擷取值呢?

通過Request及相關幾個(對象)屬性也是可以擷取到的,預設情況下,擷取到的值是以逗號分隔的。

但是:如果我們在表單元素中輸入的值本身就包含逗號時,怎麼辦呢?

》》也許我們很少注意到,Request的幾個(對象)屬性都包含了一對方法(Get和GetValues)。它們其實就可以擷取傳遞的元素值。

針對有多個相同name元素時:

  Get擷取到的值以逗號分隔,而不管元素值本身是否包含逗號。

  GetValues會將擷取到的元素值以數組方式存放,而不以逗號串連。

  我們可以想像,Get是對GetValues的又一層封裝(數組join方法串連)

 因此,如果要擷取多個相同name元素的值,可以使用GetValues..

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.