2011-12-09 33 views

Trả lời

15

Các lĩnh vực tiềm ẩn tạo <input type="hidden" /> yếu tố trên trang, mà không thể được nhìn thấy nhưng khách hàng có thể nhận được các phần tử, thiết lập dữ liệu và truyền đến máy chủ:

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

sau khi postback bạn có thể nhận giá trị:

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

Nếu bạn đang sử dụng hộp văn bản ẩn (<asp:TextBox Visible="False" />), không có phần tử nào được tạo trong tệp html.

4

Trường ẩn hiển thị dưới dạng loại đầu vào = "ẩn" trong HTML kết quả. Là một đầu vào giá trị trong đầu vào được gửi đến máy chủ khi postback trong khi đây không phải là trường hợp có nhãn. Tùy thuộc vào việc bạn có muốn giá trị đó được gửi đến máy chủ hay không, bạn nên sử dụng đầu vào hoặc nhãn. Nếu bạn không muốn giá trị được gửi thì nhãn là giải pháp đúng và trường ẩn là sai.

Tôi không chắc chắn ý bạn là gì bởi hộp văn bản vô hình nhưng nếu bạn đang cố gắng làm cho nó vô hình qua CSS, hãy nhớ rằng kiểu đầu vào có ý nghĩa ngữ nghĩa đối với công cụ tìm kiếm, bot, v.v. được phục vụ mà không có CSS ​​hoặc với CSS khác và hộp văn bản sẽ hiển thị cho người dùng. Nếu không, không có sự khác biệt giữa trường ẩn và hộp văn bản ẩn khi cả hai đều hiển thị đầu vào.

1

Thực tế bạn có thể đạt được điều tương tự với bất kỳ trong số chúng, nhưng vì bạn muốn có một "trường ẩn", ngữ nghĩa nói trường ẩn trong ASP.NET là đặt cược tốt nhất của bạn vì lý do dễ đọc.

5

Dù bằng cách nào hoạt động, cho hộp văn bản, không sử dụng .visible="false" sử dụng

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

hoặc

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

Điều này đặc biệt hữu ích từ mã phía sau. Cám ơn – Dave

Các vấn đề liên quan