2012-07-02 45 views
5

Tôi đã tạo một ứng dụng web ASP, trong ứng dụng đó một biểu mẫu phải cập nhật giá trị ngày trong trường hộp văn bản tôi đặt nút lịch gần hộp văn bản đó. nó có thể cập nhật ngày trong trường hộp văn bản đó nhưng có thể chỉnh sửa được. tôi muốn cập nhật giá trị ngày qua chỉ sử dụng nút lịch, tôi đã sử dụng thuộc tính chỉ đọc nhưng trả lại giá trị trống để không hoạt động.Làm thế nào để làm cho hộp văn bản không thể chỉnh sửa trong asp.net (C#)

Trả lời

9

Hãy thử phía khách hàng html readonly thuộc tính thay vì bên máy chủ ASP.NET readonly.

myTextBox.Attributes.Add("readonly", "readonly"); 

Từ MSDN,

Các văn bản hay giá trị của một điều khiển TextBox với thuộc tính ReadOnly thiết lập là true sẽ được gửi đến máy chủ khi postback xảy ra, nhưng máy chủ không có xử lý cho một Read- chỉ hộp văn bản. Điều này ngăn người dùng độc hại thay đổi giá trị Văn bản chỉ đọc. Giá trị của thuộc tính Văn bản được giữ nguyên trong trạng thái xem giữa các lần đăng lại trừ khi được sửa đổi bởi mã phía máy chủ.

Đây là lý do tại sao hộp văn bản với phía máy chủ readonly thuộc tính có giá trị null trong postback.

+0

cảm ơn. bạn là tốt nhất – soundy

0

bạn có thể muốn sử dụng này

TextBox1.Enabled = false; 
1

Mở sự kiện tải trang của mã của bạn đằng sau tập tin chỉ cần viết mã sau:

yourTextBoxName.Attributes.Add("readonly","readonly"); 

bạn cũng có thể làm tương tự bằng cách sử dụng tài sản

Enabled="false" 

trên trang aspx của bạn nhưng sau đó bạn sẽ không thể truy cập giá trị của nó ở mã phía sau trang.

+0

"yourTextBoxName.Attributes.Add (" readonly "," readonly ");" là tốt hơn vì nó cho phép hộp văn bản của bạn có thể thay đổi kích thước và "Enabled =" false "" không. – SubqueryCrunch

3

Bạn có thể sử dụng một trong hai TextBox1.Enabled = false; HOẶC

TextBox1.Attributes.Add("readonly","readonly");

khác biệt là nếu bạn thực hiện enabled= false sau đó bạn không thể vượt qua giá trị của textbox. Nếu bạn cần chuyển giá trị của số textbox thì bạn nên sử dụng thuộc tính chỉ đọc là textbox.

0

Bạn có thể làm cho TextBox không thể chỉnh sửa trong asp.net

+0

0

bằng cách sử dụng chỉ đọc nó sẽ cung cấp cho các vấn đề về bài đăng lại chỉ cần đặt khách sạn này java script

onkeydown = "javascript: return false"

bằng cách sử dụng u này có thể có các thuộc tính như chỉ đọc và hoàn toàn không có vấn đề gì sẽ đánh dấu

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