如何在后面的代码中选择元素到转发器?

时间:2014-02-17 19:05:06

标签: c# asp.net repeater code-behind

需要asp.net的帮助

这是我的代码:

<asp:Repeater runat="server" ID="RepeaterContents">
    <ItemTemplate>
        <tr>
            <td valign="middle"><%#Eval("Title")%> </td>
            <td class="txt"><%#Util.ExibirStatus(Eval("Active").ToString()) %></td>
            <td class="txt"><a href="ContentDetail.aspx?Id=<%#Eval("ContentId")%>">Editar</a>&nbsp;&nbsp;&nbsp;
                <asp:LinkButton runat="server" ID="**LinkButtonExcluir**" OnCommand="Excluir" OnClientClick="javascript:return(confirm('Deseja realmente excluir este conteúdo?'))" CommandArgument='<%#Eval("ContentId")%>'>Excluir</asp:LinkButton>
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

和我的.CS

private void EntitiesLoad(int id)
{
    repository = CreateRepository<IPageRepository>();
    page = repository.SelectById(id);

    if (page != null && page.ParentPage != null)
    {
        TextBoxTitulo.Enabled = true;
    }

    switch (id)
    {
        case 10:
            EscondePanels(PanelImagem, PanelMaster, PanelConteudo);
            **LinkButtonExcluir**.Enabled = false;
            break;

为什么不识别元素Asp.Net?

2 个答案:

答案 0 :(得分:0)

因为没有一个链接按钮。每行有一个。您只能在该行的上下文中通过ID引用该项目。

要启用/禁用所有(或部分)链接,您应该使用数据绑定和附加值(布尔值)来指示是否应该显示它。然后,您可以将该附加列绑定到链接的Visible属性。

答案 1 :(得分:0)

如果你喜欢这个答案,请通过投票表示赞赏**

Servy有一点......所以按ID搜索。 如果你的转发器中有一个名为tbxKey的文本框。 对于LinkBut​​ton也一样。

只需像这样调用转发器,并为文本框和LinkBut​​ton赋值。

示例      “

 foreach (RepeaterItem item in repeatername.Items)
        {
          ((TextBox)item.FindControl("tbxKey")).Text = "hello";
          ((LinkButton) item.FindControl("LinkButton")).Enabled = false;
        }

” 我必须将整个对象(type + item.findcontrol)放在extra()中,然后它将获得类型的属性。

顺便说一句,想想你会想要以你的名义乘坐明星

希望它可以帮到你