2011-10-06 11 views
5

tôi nhận được lỗiXử lý khoản đòi hỏi một biến WithEvents định nghĩa trong các loại có chứa hoặc một trong các loại cơ sở của nó

Handles clause requires a WithEvents variable defined in the containing type or one of its base types. 

trong đoạn mã sau ..

Public Sub selCurrentManuf_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ 
    Handles selCurrentManuf.SelectedIndexChanged 

    End Sub 

Danh sách thả để đi với nó được sau ...

<asp:DropDownList 
    OnSelectedIndexChanged="selCurrentManuf_SelectedIndexChanged" 
    selectedvalue='<%#Container.DataItem("c1_manufidcurrent")%>' 
    ID="selCurrentManuf" 
    Runat="Server" 
    DataTextField="c4_Desc" 
    DataValueField="c4_manufid" 
    DataSource="<%# GetCurrentManuf() %>" 
    autopostback="true" 
></asp:DropDownList> 
+1

Không có lỗi ... –

+0

của nó trong tiêu đề tôi Shull đăng nó trong câu hỏi cũng – Beginner

+0

phiên bản của .NET Framework (là gì ASP.NET)? – adatapost

Trả lời

1

này có thể giúp:

http://msdn.microsoft.com/en-us/library/stf7ebaz%28VS.80%29.aspx

và điều này có thể là lỗi tương tự

http://forums.asp.net/t/1412087.aspx/1

Bạn cần phải loại bỏ các khoản xử lý như bạn đã tuyên bố xử lý sự kiện trong sự kiểm soát.

+0

tôi nhận được lỗi này với cố gắng sử dụng một hộp thả ... chúng tôi ý tưởng ... Dim myQuery Như String = "SELECT * FROM c5_model nơi c5_manuf =" + selCurrentManuf.SelectedItem.Value + ";" – Beginner

+0

'selCurrentManuf' không được khai báo.Nó có thể không truy cập được do mức độ bảo vệ của nó. – Beginner

+0

Mã của bạn phía sau cần tham chiếu đến danh sách thả xuống để có thể sử dụng nó. Nếu bạn đang sử dụng Visual Studio, những tham chiếu này thường được xử lý cho bạn trong tệp .designer –

2

Tôi đã gặp lỗi này khi một số người đã đổi tên một trường. Đối với một số lý do đôi khi các nhà thiết kế messes lên và không đổi tên nó trong file form.aspx.designer.vb, nếu bạn nhìn vào đó và sửa chữa tên nó có thể khắc phục vấn đề này nếu điều đó đã xảy ra với bạn.

Vì vậy hãy kiểm tra kỹ xem tên trường có giống nhau không trong trình xử lý của bạn, tệp aspx và tệp designer.aspx.

+1

Thay vì mở các tệp thiết kế trong trình soạn thảo văn bản, bạn có thể đổi tên một điều khiển và trình xử lý sự kiện của nó và sau đó đổi tên chúng trở lại để khắc phục sự cố tham nhũng này. – ajeh

0

Tôi đã xảy ra điều này khi tạo nút lệnh. Khi tôi để VB.net tạo ra sự kiện tôi đã ngay lập tức được chào đón với lỗi đó. Những gì tôi đã làm để sửa chữa nó đã bị xóa đối tượng trong nhà thiết kế (một nút lệnh trong trường hợp của tôi), mã gắn với nó, tiết kiệm của tôi .sln & tạo lại đối tượng. Đã giải quyết được sự cố.

0

Tôi đã thực hiện điều này trên sự kiện OnClick cho một nút. Tôi ban đầu nút bên trong một bảng điều khiển bên trong của một ItemTemplate cho một cột GridView. Tôi chỉ cần bảng điều khiển bật lên trên một số sự kiện OnClick nút khác vì vậy tôi đã không thực sự cần nó lặp đi lặp lại thông qua ra khỏi lưới điện. Nó đã được ẩn dù sao đi nữa. Tôi di chuyển bảng điều khiển bên ngoài GridView tất cả lại với nhau và lỗi đã biến mất.

4

Tôi đã gặp sự cố này khi nâng cấp trang cũ. Vấn đề nằm trong thuộc tính Inherits @Page chỉ thị có không gian tên sai.

  1. Sửa namespace cho thuộc tính Inherits
  2. Tháo namespace trong file thiết kế hoặc phù hợp với nó trong mã thiết kế
0

Tôi có lỗi này trên một hàm điều khiển cho một nút ASP trên vb .mạng lưới. Giải quyết bằng cách thêm

runat="server" 

cho thẻ hình thức kèm theo

<form name="formUpdate" method="post" id="frmUpdate" runat="server"> 
    <asp:Button ID="btnUpdate" runat="server" Text="Update" /> 
</form> 
Các vấn đề liên quan