Tôi có một dropDownList asp.net được tự động liên kết với một sqlDataSource với các giá trị của kiểu khách hàng khi tải trang. Khi tải trang Tôi cũng tạo một đối tượng Client, một trong các thuộc tính của nó là ClientType. Tôi đang cố gắng thiết lập SelectedValue của ddl theo giá trị của thuộc tính ClientType của đối tượng Client không thành công. Tôi nhận được thông báo lỗi sau "System.ArgumentOutOfRangeException: 'ddlClientType' có một SelectedValue đó là không hợp lệ vì nó không tồn tại trong danh sách các mục". Tôi hiểu rằng điều này là do danh sách chưa được phổ biến khi tôi cố đặt giá trị đã chọn. Có cách nào khắc phục vấn đề này không? Cảm ơn bạn!Cài đặt SelectedValue của dữ liệu bị ràng buộc DropDownList
Trả lời
Bạn phải sử dụng các sự kiện DataBound, nó sẽ bị đuổi việc, một khi databinding hoàn tất
protected void DropDownList1_DataBound(object sender, EventArgs e)
{
// You need to set the Selected value here...
}
Nếu bạn thực sự muốn nhìn thấy giá trị trong trường hợp trang tải, sau đó gọi phương thức DataBind()
trước khi thiết lập giá trị ...
protected void Page_Load(object sender, EventArgs e)
{
DropdownList1.DataBind();
DropdownList1.SelectedValue = "Value";
}
Tôi đã thử và vẫn nhận được thông báo lỗi tương tự. –
Kiểm tra phần chỉnh sửa của tôi. –
Tôi đã thử lại bằng cách sử dụng sự kiện dataBound và tôi không còn nhận được thông báo lỗi nhưng giá trị không được chọn. –
Trước khi cài đặt một tấm séc giá trị được lựa chọn cho dù mục có trong danh sách và hơn chọn nó bằng chỉ số
<asp:DropDownList id="dropDownList"
AutoPostBack="True"
OnDataBound="OnListDataBound"
runat="server />
protected void OnListDataBound(object sender, EventArgs e)
{
int itemIndex = dropDownList.Items.IndexOf(itemToSelect);
if (itemIndex >= 0)
{
dropDownList.SelectedItemIndex = itemIndex;
}
}
EDIT: Thêm ...
Nếu bạn đang làm công cụ ràng buộc trong tải trang, hãy thử làm theo cách này:
- Move tất cả các ràng buộc mã liên quan trong overriden
DataBind()
phương pháp - Trong Page_Load của Trang thêm: (trong trường hợp điều khiển không gọi trực tiếp DataBind, đây là trách nhiệm của trang gốc)
if (!IsPostBack)
{
Page.DataBind(); // only for pages
}
- 1. ASP.NET WebForms DropDownList dữ liệu ràng buộc hành vi lạ?
- 2. SelectedValue vs SelectedItem.Value of DropDownList
- 3. Ràng buộc dữ liệu WinForms
- 4. WCF serviceBehaviors vs ràng buộc cài đặt
- 5. Cách đặt ContextMenu của một mục bị ràng buộc?
- 6. Ràng buộc dữ liệu với Java
- 7. Asp.Net MVC Liên kết dữ liệu DropDownList
- 8. Tai họa dữ liệu ràng buộc
- 9. dữ liệu ràng buộc cho TextBox
- 10. Chiều rộng cột dữ liệu ràng buộc
- 11. WinForms ComboBox dữ liệu ràng buộc Gotcha
- 12. Ràng buộc dữ liệu Thuộc tính POCO
- 13. Ràng buộc dữ liệu trong NSCollectionView
- 14. Lỗi ràng buộc tải dữ liệu()
- 15. Ràng buộc dữ liệu là gì?
- 16. Ràng buộc ASP.NET DropDownList DataTextField vào phương thức?
- 17. C# cách đặt giá trị mặc định dropDownList cho selectedValue = null
- 18. Thêm một giá trị mặc định trong DropDownList sau khi ràng buộc với cơ sở dữ liệu
- 19. Cài đặt DropDownList được chọn trong asp.net MVC
- 20. Ràng buộc một ComboBox để một IList và sử dụng SelectedValue
- 21. Hiểu xem mẫu mã có bị ràng buộc CPU hay bị ràng buộc bởi bộ nhớ
- 22. KnockoutJS giá trị toggling trong dữ liệu ràng buộc
- 23. Item vs BindItem: Ràng buộc dữ liệu trong ASP.NET 4.5
- 24. Hộp danh sách Winforms không cập nhật khi thay đổi dữ liệu bị ràng buộc
- 25. Ràng buộc dữ liệu với UserControl trong WPF
- 26. WPF: Chuyển giá trị cho Quy tắc xác thực từ dữ liệu bị ràng buộc
- 27. Ràng buộc dữ liệu WPF MVVM bị hỏng sau khi điều hướng trang
- 28. Bạn có thể thực hiện "math" trong các kiểu WPF bị ràng buộc bởi dữ liệu
- 29. Nhận dữ liệu bị ràng buộc vào ListView trên sự kiện DataBound
- 30. Mục đích của việc ràng buộc đặt tên là
Bạn có thể đăng một số mã không? –