如何在使用C#和ASP.NET 4.5的中继器中使用linkbutton

如何在使用C#和ASP.NET 4.5的中继器中使用linkbutton,c#,asp.net,repeater,asplinkbutton,C#,Asp.net,Repeater,Asplinkbutton,在asp.net中,我在数据库中有一个表,其中包含问题、提交日期和答案。页面加载时只显示问题。现在,我想使用任何链接,在文本框或标签中单击“显示答案”和表数据中指定的日期,然后再次单击该链接,答案会像单击“展开”和“收缩”一样再次消失。 那么在C#中我应该使用什么编码呢?我相信您可以处理中继器的事件 为要用户在转发器的项目模板中单击的链接放置LinkButton控件。将此命令的CommandName属性设置为有意义的内容,如“ShowAnswers”。另外,将Label或TextBox控件添加到

在asp.net中,我在数据库中有一个表,其中包含问题、提交日期和答案。页面加载时只显示问题。现在,我想使用任何链接,在文本框或标签中单击“显示答案”和表数据中指定的日期,然后再次单击该链接,答案会像单击“展开”和“收缩”一样再次消失。
那么在C#中我应该使用什么编码呢?

我相信您可以处理中继器的事件

为要用户在转发器的项目模板中单击的链接放置LinkButton控件。将此命令的CommandName属性设置为有意义的内容,如“ShowAnswers”。另外,将Label或TextBox控件添加到Repeater的项模板中,但在aspx标记中将其Visible属性设置为false

在代码隐藏中,在ItemCommand事件处理程序中,检查
e.CommandName
的值是否等于您的命令(“ShowAnswers”)。如果是这样,则在该中继器项中查找答案和日期的标签或文本框控件(通过
e.item
访问)。找到它们后,将其Visible属性设置为true

注意:您可以采用不同的方法使用AJAX为用户提供更无缝的体验,但这种方法最初可能更容易实现

我认为实现会像这样。免责声明:我尚未测试此代码

代码隐藏:

void Repeater_ItemCommand(Object Sender, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "ShowAnswers")
    {
        Control control;

        control = e.Item.FindControl("Answers");
        if (control != null)
            control.Visible = true;

        control = e.Item.FindControl("Date");
        if (control != null)
            control.Visible = true;
    }
}
ASPX标记:

<asp:Repeater id="Repeater" runat="server" OnItemCommand="Repeater_ItemCommand">
  <ItemTemplate>
    <asp:LinkButton id="ShowAnswers" runat="server" CommandName="ShowAnswers" />
    <asp:Label id="Answers" runat="server" Text='<%# Eval("Answers") %>' Visible="false" />
    <asp:Label id="Date" runat="server" Text='<%# Eval("Date") %>' Visible="false" />
  </ItemTemplate>
</asp:Repeater>


你看过
jQuery
jQuery UI
吗?我不知道jQuery你能做什么?先生,我正在学习asp.net,所以我只知道简单的命令。在repeater中,我只能在页面加载时显示数据。先生,我使用了此代码,但单击链接按钮时不会发生任何事件。我只是无法认识到点击事件将如何发生的问题。。?