DataList не загружается на моей странице aspx из моего webusercontrol
У меня есть пользовательский веб-элемент управления, который выглядит следующим образом
.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HtmlReport.ascx.cs" Inherits="HtmlReport" %>
<asp:Label runat="server" Text="REPORT DATALST" />
<asp:DataList runat="server" ID="DataListNames">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label runat="server" Text='<%# Eval("CustomerName") %>' />
</td>
</tr>
<tr>
<td>
<asp:Label runat="server" Text='<%# Eval("ProjectName") %>' />
</td>
</tr>
<tr>
<td>
<asp:Label runat="server" Text='<%# Eval("LastName") %>' /><p>, </p>
<asp:Label runat="server" Text='<%# Eval("FirstName") %>' />
</td>
</tr>
</table>
<asp:DataList runat="server" ID="DataListHours">
<ItemTemplate>
<table>
<tr>
<asp:Label runat="server" Text='<%# Eval("HoursWorked") %>' />
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
<FooterTemplate>
<asp:Label runat="server" Text="Total Hours " /><asp:Label runat="server" Text='<%# Eval("TotalHoursWorked") %>' />
</FooterTemplate>
</asp:DataList>
.cs
protected void Page_Load(object sender, EventArgs e)
{
}
public void GenerateReport(IList<DataObjects.Fixedfeereport> FixedFeeReports)
{
DataListNames = new DataList();
DataListNames.DataSource = FixedFeeReports;
DataListNames.DataBind();
}
и на моей странице контента.cs
HtmlReport rpt = new HtmlReport();
rpt.GenerateReport(Reports);
//Reports is a data object that holds all the fields from the webusercontrol datalist, ex: CustomerName, ProjectName, FirstName, LastName, etc....
Control test = Page.LoadControl("HtmlReport.ascx");
PanelReport.Controls.Add(test);
Моя проблема в том, что когда я загружаю свой web user Control на свою исходную страницу содержимого, давайте назовем его default.aspx / default.cs, он захватывает метку, которая у меня есть "REPORT DATALIST", и отображает это - круто. Но он захватывает даталист и пуст. Не содержит данных, хотя я даю им источник данных и привязываю их в.cs
Я не работал с подобными веб-контроллерами, поэтому кто-нибудь может указать мне правильное направление?
1 ответ
Я исправил свою собственную проблему, фактически переместил webusercontrol на страницу aspx из обозревателя решений, перетащил его и уронил. Который дал мне это в верхней части моего default.aspx
<%@ Register Src="~/HtmlReport.ascx" TagName="Report" TagPrefix="R" %>
<%@ Reference VirtualPath="~/HtmlReport.ascx" %>
и это в моей панели я бросил его.
<R:Report ID="Report1" runat="server" />
я изменил свой contentpage.cs, чтобы выглядеть так,
Report1.GenerateReport(Reports);
и наконец я удалил
DataListNames = new Datalist();
в моем webusercontrol.cs, и он работает и отображает мой datalist!