我需要在中继器内部创建一系列动态创建的按钮。这些按钮名称来自数据库。当用户点击一个按钮时,会出现名称旁边的一些隐藏文本。再次点击后消失。文本必须在html或后面的代码中定义。从中继器内部访问动态创建的元素
下面是一些代码来演示我在想什么。
<asp:Repeater ID="Repeater1" DataSourceID="DecisionDetailsDS" runat="server" >
<ItemTemplate>
<asp:Button ID="DecisionButton" runat="server" OnClick="BTN_ShowText" BorderStyle="None"
Text='<%# Eval("Decision_Type_Dsc") %>' />
<asp:Label ID="DecisionLabel" Visible="false" runat="server" />
<p></p>
</ItemTemplate>
<AlternatingItemTemplate>
<asp:Button ID="DecisionButton" runat="server" OnClick="BTN_ShowText" BorderStyle="None"
Text='<%# Eval("Decision_Type_Dsc") %>' />
<asp:Label ID="DecisionLabel" Visible="false" runat="server" /> <p></p>
</AlternatingItemTemplate>
</asp:Repeater>
public void BTN_ShowText(Object sender, EventArgs e)
{
Label TestLabel = (Label)FindControl("DecisionLabel");
Button TestButton = (Button)FindControl("DecisionButton");
switch(TestButton.Text)
{
case "Dismissed":
TestLabel.Text = "Testing 1 2 3";
break;
case "Anything":
TestLabel.Text = "Testing 2 3 4";
break;
}
if (TestLabel.Visible == false)
{
TestLabel.Visible = true;
}
else
{
TestLabel.Visible = false;
}
}
}
我知道这是行不通的。我收到了空值。而我需要按钮的ID,它是相应的标签。希望这给你一个我想要做的事情的想法。任何建议,特别是如果你提供我的一些代码来处理赞赏。我想也许使用jQuery?
我是.net/jquery编程的新手。希望有人能帮助我。 谢谢!
这工作完美!用我的代码很容易实现。非常感谢你! – Dave 2010-02-04 22:23:55