Tôi có một số điều khiển "ASP: TextBox" trên biểu mẫu (khoảng 20).
Khi biểu mẫu tải, các hộp văn bản được điền từ cơ sở dữ liệu.
Người dùng có thể thay đổi giá trị được điền, và khi họ gửi biểu mẫu, tôi lấy các giá trị được đăng lên máy chủ và lưu điều kiện chúng (được xác định bởi một số logic nghiệp vụ).
Tất cả trừ 1 trong các hộp văn bản hoạt động như dự định.Bài đăng biểu mẫu không chứa dữ liệu hộp văn bản [ASP.NET C#]
Hộp lẻ, sau khi đăng lại, không chứa giá trị được cập nhật mà người dùng đã nhập vào hộp.
Khi gỡ lỗi ứng dụng, rõ ràng là myTextBox.Text
phản ánh giá trị cũ, được điền trước, không phải giá trị mới do người dùng cung cấp.
Mỗi hộp khác hiển thị đúng các giá trị do người dùng cung cấp tương ứng.
Tôi đã tìm được giải pháp thay thế.
Giải pháp của tôi về cơ bản là trích xuất giá trị của hộp văn bản ra khỏi đối tượng Request.Form
: Request.Form[myTextBox.UniqueID]
, chứa giá trị do người dùng cung cấp.
Điều gì có thể xảy ra, ở đây?
Như tôi đã đề cập, các hộp văn bản khác nhận giá trị do người dùng cung cấp, và hộp văn bản có vấn đề cụ thể này không có bất kỳ logic nào liên kết với nó - nó chỉ lấy giá trị và lưu nó.
Sự khác biệt chính giữa hộp văn bản này và các hộp khác là hộp đa dòng (để nhập ghi chú), mà tôi tin là được hiển thị dưới dạng thẻ HTML "textarea" thay vì thẻ "đầu vào" trong ASP.NET .