【发布时间】:2014-03-17 17:38:27
【问题描述】:
我有一个显示用户反馈的网格视图。每行都有一些按钮,例如“喜欢”和“不喜欢”,每个按钮都会触发带有特定命令名和命令参数的 gridview RowCommand 事件。
如果用户单击“赞”按钮,它应该禁用“赞”按钮并保持“不赞”按钮处于启用状态。如果用户改变主意并单击不喜欢按钮,它应该禁用不喜欢按钮并启用喜欢按钮等等。有什么想法吗?
我试过了,没有运气
protected void BtnLike_Click(object sender, EventArgs e)
{
Button thumbs_up = (Button)sender;
thumbs_up.Enabled = false;
Button thumbs_down = (Button)sender;
thumbs_down.Enabled = true;
}
protected void btnDislike_Click(object sender, EventArgs e)
{
Button thumbs_down = (Button)sender;
thumbs_down.Enabled = false;
Button thumbs_up = (Button)sender;
thumbs_up.Enabled = true;
}
aspx 代码
<asp:GridView ID="GridViewFeedback" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" AutoGenerateColumns="False" DataKeyNames="ItemID" AllowPaging="True"
AllowSorting="True" DataSourceID="SqlDataSource1" OnRowCommand="GridViewFeedback_RowCommand"
Width="100%" OnRowDataBound="GridViewFeedback_RowDataBound">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Item Description" SortExpression="ItemDesc">
<ItemTemplate>
<asp:Label ID="lblDesc" runat="server" Text='<%# Bind("ItemDesc") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Like" InsertVisible="False" SortExpression="Vote">
<ItemTemplate>
<asp:Button ID="BtnLike_Click" runat="server" Text="Like" CommandName="VoteUp" OnClick="BtnLike_Click_Click"
CommandArgument='<%# Bind("ItemID") %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Dislike" InsertVisible="False" SortExpression="Vote">
<ItemTemplate>
<asp:Button ID="btnDislike_Click" runat="server" Text="Dislike" CommandName="VoteDown" OnClick="btnDislike_Click_Click"
CommandArgument='<%# Bind("ItemID") %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</asp:GridView>
【问题讨论】:
-
首先,检索你的行索引,然后获取另一个按钮并更新它的状态
-
@GabrielGM 我该怎么做?我对此很陌生。