我的转发器不在浏览器中呈现
My repeater does not render in the browser
我创建了一个中继器,但无法渲染它。当我们检查对象时,它并没有出现。我就拿上面的代码吧,叫analyze registration data and repeat 之后repeater 并看不到,但是repeater 不行。有什么问题吗?下面是分析注册数据的代码:
<div class="boxAprovacao">
<h2>Analisar dados cadastrais</h2>
<asp:HiddenField ID="hdfCdPendencia" runat="server" />
<asp:RadioButtonList ID="rblIcAprovado" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Aprovar" Value="1"></asp:ListItem>
<asp:ListItem Text="Reprovar" Value="0"></asp:ListItem>
</asp:RadioButtonList>
<asp:TextBox ID="txtParecerDadosCadastrais" TextMode="MultiLine" runat="server" CssClass="parecerAnalista" />
<asp:HiddenField ID="hdfCdUsuario" runat="server" />
<asp:Repeater ID="rptHistoricoAnalises" runat="server" OnItemDataBound="rptHistoricoAnalises_ItemDataBound">
<HeaderTemplate>
<h3>Histórico de análises</h3>
<dl>
</HeaderTemplate>
<ItemTemplate>
<dt>
Por:
<asp:Label Text="ANA LUCIA ALVES MARTINS" ID="lblHistAnaNmAnalista" runat="server" /><br />
Em: <asp:Label Text="03/12/2014" ID="lblHistAnaData" runat="server" /> - <asp:Label Text="10:19" ID="lblHistAnaHorario" runat="server" />
</dt>
<dd>
<asp:Label Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque bibendum diam augue, ut varius lectus luctus a. Sed finibus fringilla nibh. Quisque orci erat, iaculis quis neque vitae, maximus vehicula tortor. Praesent luctus venenatis venenatis. Nullam non lacus orci. Vivamus convallis hendrerit urna, vel facilisis sapien semper non." ID="lblHistAnaParacerAnalista" runat="server" />
</dd>
</ItemTemplate>
<FooterTemplate>
</dl>
</FooterTemplate>
</asp:Repeater>
</div>
如果我 运行 一个方法和 ItemTemplate 我这样做:例如 < td> < asp: Label ID = " lblValorPedido " runat = "server" Text = '< % # Eval ( " VlCompra ")% > ' /> < / td>
,因为转发器知道这是我的数据源?
EDIT1
我不能 post 隐藏代码,因为我不在这家公司工作。我在 Fev/2017 离开了那家公司。我想改进我的 post,但这是不可能的。我仍然被禁止访问此站点,我不知道该怎么做。
您需要设置 DataSource of the Repeater, then call DataBind on it, or hook the repeater up to some data source control through DataSourceID 属性。由于您还没有这样做,因此没有任何内容可以重复,因此不会生成 HTML。
后面的代码,显示了 DataSource/DataBind 方法。请注意,我正在检查以确保它不是回发,因为 ViewState 将在回发之间维护数据,我不需要重新获取数据。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
rptHistoricoAnalises.DataSource = MyDataLayer.GetData();
rptHistoricoAnalises.DataBind();
}
}
正如我提到的,另一种方法是使用数据源控件。
<asp:SqlDataSource runat="server" id="MyDataSource" connectionstring="your connection string here" selectcommand="your select command here" />
<asp:Repeater ID="rptHistoricoAnalises" DataSourceID="MyDataSource" runat="server" OnItemDataBound="rptHistoricoAnalises_ItemDataBound">
我创建了一个中继器,但无法渲染它。当我们检查对象时,它并没有出现。我就拿上面的代码吧,叫analyze registration data and repeat 之后repeater 并看不到,但是repeater 不行。有什么问题吗?下面是分析注册数据的代码:
<div class="boxAprovacao">
<h2>Analisar dados cadastrais</h2>
<asp:HiddenField ID="hdfCdPendencia" runat="server" />
<asp:RadioButtonList ID="rblIcAprovado" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Aprovar" Value="1"></asp:ListItem>
<asp:ListItem Text="Reprovar" Value="0"></asp:ListItem>
</asp:RadioButtonList>
<asp:TextBox ID="txtParecerDadosCadastrais" TextMode="MultiLine" runat="server" CssClass="parecerAnalista" />
<asp:HiddenField ID="hdfCdUsuario" runat="server" />
<asp:Repeater ID="rptHistoricoAnalises" runat="server" OnItemDataBound="rptHistoricoAnalises_ItemDataBound">
<HeaderTemplate>
<h3>Histórico de análises</h3>
<dl>
</HeaderTemplate>
<ItemTemplate>
<dt>
Por:
<asp:Label Text="ANA LUCIA ALVES MARTINS" ID="lblHistAnaNmAnalista" runat="server" /><br />
Em: <asp:Label Text="03/12/2014" ID="lblHistAnaData" runat="server" /> - <asp:Label Text="10:19" ID="lblHistAnaHorario" runat="server" />
</dt>
<dd>
<asp:Label Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque bibendum diam augue, ut varius lectus luctus a. Sed finibus fringilla nibh. Quisque orci erat, iaculis quis neque vitae, maximus vehicula tortor. Praesent luctus venenatis venenatis. Nullam non lacus orci. Vivamus convallis hendrerit urna, vel facilisis sapien semper non." ID="lblHistAnaParacerAnalista" runat="server" />
</dd>
</ItemTemplate>
<FooterTemplate>
</dl>
</FooterTemplate>
</asp:Repeater>
</div>
如果我 运行 一个方法和 ItemTemplate 我这样做:例如 < td> < asp: Label ID = " lblValorPedido " runat = "server" Text = '< % # Eval ( " VlCompra ")% > ' /> < / td>
,因为转发器知道这是我的数据源?
EDIT1
我不能 post 隐藏代码,因为我不在这家公司工作。我在 Fev/2017 离开了那家公司。我想改进我的 post,但这是不可能的。我仍然被禁止访问此站点,我不知道该怎么做。
您需要设置 DataSource of the Repeater, then call DataBind on it, or hook the repeater up to some data source control through DataSourceID 属性。由于您还没有这样做,因此没有任何内容可以重复,因此不会生成 HTML。
后面的代码,显示了 DataSource/DataBind 方法。请注意,我正在检查以确保它不是回发,因为 ViewState 将在回发之间维护数据,我不需要重新获取数据。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
rptHistoricoAnalises.DataSource = MyDataLayer.GetData();
rptHistoricoAnalises.DataBind();
}
}
正如我提到的,另一种方法是使用数据源控件。
<asp:SqlDataSource runat="server" id="MyDataSource" connectionstring="your connection string here" selectcommand="your select command here" />
<asp:Repeater ID="rptHistoricoAnalises" DataSourceID="MyDataSource" runat="server" OnItemDataBound="rptHistoricoAnalises_ItemDataBound">