C# 中继器中链接按钮的工作原理

C# 中继器中链接按钮的工作原理,c#,repeater,asp.net-4.5,C#,Repeater,Asp.net 4.5,我在repeater中使用了一个linkbutton,它在单击时在标签中显示数据。现在我想再次单击相同的linkbutton隐藏该数据,这意味着相同的按钮用于显示和隐藏数据。 有一个数据库和一个表,其中包含ques描述、日期、sub.by和ans。 只显示页面加载问题。 现在这是设计代码: protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { i

我在repeater中使用了一个linkbutton,它在单击时在标签中显示数据。现在我想再次单击相同的linkbutton隐藏该数据,这意味着相同的按钮用于显示和隐藏数据。 有一个数据库和一个表,其中包含ques描述、日期、sub.by和ans。
只显示页面加载问题。

现在这是设计代码:

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
       {  
            if (e.CommandName == "showanswers")  
            {  
                Control control;  
                control = e.Item.FindControl("date");
                if(control!=null)
                control.Visible = true;
                control = e.Item.FindControl("subby");
                if(control!=null)
                control.Visible = true;
                control = e.Item.FindControl("ans");
                if(control!=null)
                control.Visible = true;
            }
这是我使用的html代码:


问题:

但我不知道如何再次单击相同的链接按钮隐藏数据。
只需一个按钮就可以了吗?

什么会妨碍您检查标签是否可见并相应地隐藏/显示它

protected void lnkBtnShowDataLabel_Click(Object sender, EventArgs e)
{
    lblData.Visible = !lblData.Visible;
}

在这里粘贴代码。在你这么做之前,先读几遍……是的,但你应该让我们看看你做了什么。什么阻碍您检查标签是否可见并相应地隐藏/显示它?因为您现在已经显示您正在使用中继器的
ItemCommand
事件,所以您可以使用您的代码并替换
control.visible=true带有
control.Visible=!控件。可见。这应该只是切换可见性。@user2069465:您何时对中继器进行数据绑定,是否可能在每次回发时都这样做?你的代码有效吗,那么你能让它们可见吗?
Repeater1\u ItemCommand
被触发了吗,你在那里设置了断点了吗?哦,是的,先生,现在它在使用回发后工作了:p非常感谢先生:)
protected void lnkBtnShowDataLabel_Click(Object sender, EventArgs e)
{
    lblData.Visible = !lblData.Visible;
}