2010-10-13 33 views
10

ASP.NET 4.0 đã giới thiệu thuộc tính 'ClientIDMode', cho phép xác định cách id của phần tử html được hiển thị trong html đầu ra.Trình xác thực và sự cố ClientIDMode (ASP.NET)

Dự án của tôi hiện đang thiết lập để 'tĩnh' (ngắn nhất/không chứa id phân cấp)

Khi sử dụng bất kỳ validator (RequiredFieldValidator, RegularExpressionValidator ...), trừ trường hợp điều khiển nó xác nhận một cách rõ ràng có nó ClientIDMode bất động sản: AutoID Tôi gặp lỗi:

Input parameter 'controlId' cannot be an empty string.

Đây có phải là hành vi mong đợi không?

Chỉnh sửa: Không thích hợp với thông báo lỗi, nó muốn tôi đặt một id trên Trình xác thực, mà tôi rõ ràng là không làm (trừ khi tôi cần tham khảo nó).

Nó vẫn có vẻ kỳ lạ là nó sẽ thất bại vì lý do này.

Trả lời

3

Tôi chạy theo cách này hơi khác: nếu điều khiển người dùng của tôi có ClientIDMode="Static", tôi đã nhận được lỗi trên trình xác thực đã tồn tại trong tầm kiểm soát (tất cả đều không có ID).

Một giải pháp thay thế là chuyển ClientIDModes trên điều khiển người dùng vi phạm. Hi vọng điêu nay co ich!

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