2012-04-09 38 views
6

Tôi kéo và thả điều khiển Nhãn trên trang ABC.ASPX của tôi. Nó biên dịch chính xác. Nhưng điều khiển (Label2) không có sẵn trong mã-đằng sau ABC.ASPX.cs để gán giá trị.Kiểm soát ASP.NET không có sẵn trong CodeBehind

Độ phân giải là gì?

<%@ Page language="c#" CodeBehind="ABC.aspx.cs" AutoEventWireup="false" %> 

<asp:Label ID="Label2" runat="server" Font-Bold="True"></asp:Label> 
+1

có thể đăng một số mã đánh dấu và mã bạn đang cố gắng sử dụng không thành công? – kaveman

+0

hiện nó có một 'ID'? – Matthew

+0

Có giống như sau: ? Nếu vậy, nó sẽ hiển thị mã phía sau. –

Trả lời

9

Có thể bạn đang thiếu mục nhập cho tệp này trong tệp designer.cs của mình. Bạn có thể thêm nội dung như thế này vào tệp:

protected global::System.Web.UI.WebControls.Label Label2; 

Hoặc xóa tệp designer.cs, nhấp chuột phải vào tệp aspx mẹ và chọn "Chuyển sang ứng dụng web". Điều này sẽ tạo lại tệp designer.cs với tất cả các mục thích hợp.

+0

phòng thu trực quan xóa và tạo lại * .cs với cùng một vấn đề –

2

Bạn có thể cần thêm Inherits="XXX.ABC" trong Chỉ thị trang của mình, trong đó XXX là không gian tên gốc của bạn. Ngoài ra, tôi giả định rằng bạn đặt tên lớp ABC của bạn trùng với ABC.aspx.cs.

1

Cố gắng loại bỏ điều khiển, lưu tệp, thêm lại điều khiển và lưu lại tệp. Vấn đề có thể là trong tệp * .designer.cs của bạn, cách tiếp cận này sẽ tái tạo nó.

0

Sau khi tạo thành phần người dùng, tôi muốn thử nghiệm nó trong trang CalendarTest. Tôi cũng không thể truy cập thành phần người dùng thông qua Mã phía sau. Tôi không tìm thấy giải pháp trực tuyến, nhưng thông qua bản dùng thử và lỗi, tôi đã khắc phục nó bằng các bước sau:

1) trong tệp aspx, <% @ Page ... cần "CodeFile =" thay vì "Src =" để trỏ đến mã đằng sau tập

2) trong Bộ luật đằng sau aspx.cs tập tin, tôi cần phải thay thế 'lớp CalendarTest công' với 'partial class nào CalendarTest'

0

Kích chuột phải vào dự án sau đó chọn chuyển đổi thành ứng dụng web

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