2010-06-10 29 views
8

Tôi chỉ mới bắt đầu một dự án mới và tôi đang nhận được một số công cụ thực sự kỳ lạ xảy ra.Tại sao Repeater của tôi lại rỗng ở mã sau?

ASP.NET 3.5, VS2008.

Tôi đã thử xây dựng lại, đóng VS, xóa tất cả mọi thứ và nhận được từ svn một lần nữa nhưng tôi không thể hiểu lý do tại sao lặp lại sau đây là null trên page_load.

Tôi biết điều này sẽ là thời điểm chờ đợi. Giúp tôi với?

Markup:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="GalleryControl.ascx.cs" Inherits="Site.UserControls.GalleryControl" %> 
<asp:Repeater ID="rptGalleries" runat="server"> 
    <HeaderTemplate><ul></HeaderTemplate> 
    <ItemTemplate> 
     <li>wqe</li> 
    </ItemTemplate> 
    <FooterTemplate></ul></FooterTemplate> 
</asp:Repeater> 

Mã đằng sau

public partial class GalleryControl : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     rptGalleries.DataSource = new[] {1, 2, 3, 4, 5}; 
     rptGalleries.DataBind(); 
    } 
} 

Nhà thiết kế:

public partial class GalleryControl { 

    /// <summary> 
    /// rptGalleries control. 
    /// </summary> 
    /// <remarks> 
    /// Auto-generated field. 
    /// To modify move field declaration from designer file to code-behind file. 
    /// </remarks> 
    protected global::System.Web.UI.WebControls.Repeater rptGalleries; 
} 

Tại sao là null lặp lại của tôi? Những gì F đang xảy ra?

Trang tham khảo có này:

<ux:GalleryControl runat="server" ID="uxGalleryControl"/> 

Các web.config có này (Tôi chưa bao giờ phải làm điều này trước đây nhưng masterpage của tôi đã phàn nàn về việc không tìm một điều khiển người dùng).

<add tagPrefix="ux" namespace="Site.UserControls" assembly="Site" /> 
+0

Rất lạ. Bạn đã kiểm tra tệp .aspx.designer.cs của bạn để kiểm soát bộ lặp lại? Có thể vì một lý do nào đó mà nhà thiết kế không tự tạo tham chiếu? Tôi đã thấy điều đó xảy ra trước đó. – RPM1984

+0

yep nó ở đó. Đã cập nhật câu hỏi. –

+0

Tôi vừa thử tạo một điều khiển hoàn toàn mới với cùng một hiệu ứng. Các trang tham chiếu này có một DropDownList trên đó là tốt. –

Trả lời

14

Sau giờ đập đầu tôi cuối cùng cũng đã tìm ra điều này.

Tôi đã tham khảo các điều khiển Người dùng trong cấu hình web như đã nêu (Tôi cũng đã thử phương thức Đăng ký với Hội đồng). Tôi nghĩ có một sự kỳ quặc với phương pháp này khi các điều khiển nằm trong cùng một hội đồng. Vì vậy, hãy tham khảo chúng như sau:

<%@ Register Src="~/UserControls/GalleryControl.ascx" TagPrefix="ux" TagName="GalleryControl" %> 

Làm việc ngay lập tức.

Tôi hy vọng bất kỳ ai khác có cùng vấn đề đều thấy điều này hữu ích.

+0

Cảm ơn, đã giải quyết được vấn đề của tôi ngay lập tức! – johna

0

Tôi có một vấn đề tương tự, chỉ để nhận ra rằng bộ lặp trong câu hỏi nằm trong mẫu tiêu đề (lớn) của bộ lặp khác. Sắp xếp lại mẫu tiêu đề theo cách lặp lại ở bên ngoài, giải quyết vấn đề ... Thật lạ khi không có lỗi trình biên dịch mặc dù

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