1. 程式人生 > >【Asp.net】——HTML網頁製作ID與Name的區別

【Asp.net】——HTML網頁製作ID與Name的區別

今天敲程式碼的時候遇到個小麻煩:


製作了一個HTML登陸介面,想把裡邊的使用者名稱和密碼傳回WindowsForm1介面並顯示。但是總是報錯,後

來發現了原來是ID與Name的問題。

在敲牛腩的時候,對於ID的認識,就是唯一的標識,但是與Name的區別卻沒有注意。這裡遇到了,趕緊趕

緊的補上哈!


主要區別

雖然ID和Name都是標識,但是在真正用的時候,Name和ID有時候是不能相互替代的。下面就列舉一下各

自的使用範圍:

一、Name的用途:

1、作為與伺服器互動資料的HTML元素的伺服器端的標識。如:input,select,textarea和button等。我們

可以在伺服器端根據其Name通過Request.Params取得元素提交的值。這個也就能解釋我為什麼出錯了,因為在

HTML頁,我用的是ID,所以在向伺服器端傳值的時候傳不過去,才會報錯。只要把Name的值加上後就解決了!

2、在HTML頁,radio button控制元件在同一個分組類的時候,同一時間只能選中一個radio,這個分組就是根據

相同的Name屬性來實現的。

3、建立頁面中的錨點,當獲取一個頁面的超連結時,如果不用href屬性,用Name也是可以的。

4、作為物件的Identity,使用Name來引用該物件。

以上的這些都是ID不能代替的。

 二、ID的作用:

1、用ID選擇相應的style sheet.

2、用<A id=...>連結目的地。

3、指令碼語言通過標籤的ID找到目的地。

4、作為標籤或塊的區分標誌。

作用域

只能用Name的情況:

1、表單(form)的控制元件名。

2、frame和window的名字。

只能用ID的情況:

1、label與form控制元件的關聯。

<label for="MyInput">My Input</label>

<input id="MyInput" type="text">

2、CSS的元素選擇機制,以#MyID的方式制定應用樣式的元素,只能用ID。

3、指令碼中獲得物件,在指令碼中直接以ID應用該ID標識的物件。

總結

真的是小小的問題,引發大大的思考,原來ID和Name還有這麼大的區別,不查一下真的不知道。在敲程式碼

的過程中還是要細心一點,多多積累這些小小的知識。