当我点击一个按钮(位于同一行)时,我需要访问列表视图中的标签控件...
有人知道怎么做吗? :(
请参阅下文,了解更多信息......
ASPX页面:
<asp:ListView ID="ListView1" runat="server" DataSourceID="DataSource">
<LayoutTemplate>//Etc </LayoutTemplate>
<ItemTemplate>
<asp:Label ID="lblDone" runat="server" Visible="false">Your vote has been counted</asp:Label>
<asp:Button ID="voteButton" runat="server" Text="Vote" CommandArgument='<%#Eval("id") %>' OnClick="voteOnThis" />
</ItemTemplate>
代码背后:
protected void voteOnThis(object sender, EventArgs e)
{
Button myButton = (Button)sender;
Voting.vote(int.Parse(myButton.CommandArgument));
// Here i would like to access the 'label' lblDone and make this Visible
}
答案 0 :(得分:1)
在这个简单的例子中,我应该考虑使用Javascript(JQuery)
<asp:ListView ID="ListView1" runat="server" DataSourceID="DataSource">
<LayoutTemplate>//Etc </LayoutTemplate>
<ItemTemplate>
<asp:Label ID="lblDone" runat="server" style="visibility:hidden">Your vote has been counted</asp:Label>
<asp:Button OnClientClick="showLblDone()" ID="voteButton" runat="server" Text="Vote" CommandArgument='<%#Eval("id") %>' OnClick="voteOnThis" />
</ItemTemplate>
现在,在脚本标签内部定义showLblDone函数:
<script>
function showLblDone (){
$(this).siblings('span').show();}
</script>
如果要在每次单击时显示/隐藏,也可以使用参数调用此函数,或者可以使用.toggle()代替.show()。
在这种情况下,您必须在ItemTemplate中添加div(或Panel)。
答案 1 :(得分:0)
您需要挂钩listview行绑定并添加单击时要包含的信息。使用此功能,您可以向单击时读回的按钮添加属性,例如......
如果您发布了一些实际代码,我可能会提供更多帮助。