2011-12-09 36 views

回答

15

隱藏字段產生<input type="hidden" />元素的頁面,不能看到,但客戶可以得到元素,將數據傳遞到服務器:

document.getElementById('<%= SomeHiddenField.ClientID %>').value = "data_pass_to_server"; 

回傳後,即可得到價值:

var clientData = SomeHiddenField.Value; // "data_pass_to_server" 

如果你使用隱形文本框(<asp:TextBox Visible="False" />),有沒有在HTML文件中生成的元素。

4

隱藏字段在生成的HTML中呈現爲輸入type =「hidden」。作爲輸入,輸入中的值將在回發中提交給服務器,而標籤不是這種情況。根據您是否要將該值提交給服務器,您應該使用輸入或標籤。如果你不想要提交價值,那麼標籤是正確的解決方案,隱藏的領域是錯誤的。

我不確定你的意思是看不見的文本框,但如果你試圖通過CSS隱藏它,請記住輸入類型對搜索引擎,機器人等具有語義含義。另外,在某些時候,你的HTML可能會沒有CSS或使用不同的CSS提供服務,文本框將變得對用戶可見。否則隱藏字段和不可見文本框之間沒有區別,因爲它們都呈現輸入。

1

實際上,你可以用它們中的任何一個來達到同樣的效果,但是由於你想要一個「隱藏字段」,從語義角度講,ASP.NET中的隱藏字段是可讀性最好的選擇。

5

兩種方法都可行,文本框,不要使用.visible="false" 使用

yourTextBox.Style.Add("display", "none") 

yourTextBox.Style.Add("visibility", "hidden") 
+0

這是從後面的代碼特別有用。謝謝 – Dave