2013-10-25 14 views
6

Tôi có Hộp văn bản như dưới đây.Các thuộc tính Giá trị và Văn bản trong Hộp văn bản asp.net (Giá trị được ghi đè bằng Văn bản)

<asp:TextBox runat="server" ID="Name" value="aaaa" text="bbbb"/> 

ở mã phía sau.

Dim str As String = Name.Text.Trim() ' value as bbbb 

Nếu tôi đã xóa thuộc tính văn bản.

<asp:TextBox runat="server" ID="Name" value="aaaa" /> <%--text="bbbb"--%>  

Dim str As String = Name.Text.Trim() ' value as aaaa 

bất cứ khi nào tôi giữ thuộc tính văn bản Tôi không thể truy cập trường Giá trị. Làm thế nào để có được trường giá trị khi thuộc tính văn bản có mặt?

+1

bạn không nên sử dụng các tài sản giá trị, nó không phải là một phần của hộp văn bản. Bạn nên luôn sử dụng Văn bản. Xem nguồn lượt xem khi bạn có cả giá trị và văn bản. –

Trả lời

6

Không sử dụng value tài sản. Nếu bạn đang sử dụng TextBox của asp.net, bạn phải sử dụng Text.

Khi bạn thêm thuộc tính không tồn tại trong lớp TextBox, asp.net sẽ hiển thị các thuộc tính đó thành html kết quả. Vì vậy,

<asp:TextBox runat="server" ID="Name" text="bbbb" mycustomproperty="hi" /> 

Sẽ hiển một cái gì đó như thế này

<input type="text" value="bbbb" id="..." name="..." mycustomproperty="hi"/> 

Nếu bạn bỏ qua Text tài sản 's TextBox và viết các tài sản giá trị, sau đó các tài sản giá trị sẽ được trả lại.

<asp:TextBox runat="server" ID="Name" value="aaaa" /> 

Để

<input type="text" value="aaaa" id="..." name="..."/> 

TextBox không có một tài sản giá trị gia tăng. Khi cá thể TextBox được tạo, thuộc tính giá trị HTML sẽ được gán cho thuộc tính Văn bản và đó là lý do bạn truy cập thuộc tính Văn bản có giá trị "aaaa".

Tóm tắt: Không sử dụng thuộc tính giá trị khi bạn sử dụng điều khiển ASP.NET. Sử dụng các thuộc tính điều khiển cụ thể.

0

Nếu bạn đang cố gắng để lưu trữ dữ liệu liên quan đến một điều khiển trên trang, sau đó xem xét sử dụng điều khiển ASP.NET HiddenField các giá trị lưu trữ có thể được đọc qua bài ngửa với máy chủ, như thế này:

<asp:HiddenField runat="server" id="HiddenFieldValue" /> 

sau đó, trong code-behind, bạn có thể nhận và thiết lập giá trị thông qua Value tài sản, như thế này:

' Storing value 
Me.HiddenFieldValue.Value = "value you want to keep" 

' Retrieving value 
Dim str As String = Me.HiddenFieldValue.Value 
Các vấn đề liên quan