【发布时间】:2011-07-27 13:54:07
【问题描述】:
我有一个在 Webpart 上显示数据的 gridview,在标题中带有链接按钮,以允许按不同字段排序(使用自定义排序方法,每列会有所不同)
该按钮工作正常,但在单击处理程序中它会更改文本、命令名称和字体。
这永远不会起作用(即按钮上没有发生任何变化),有什么理由不应该起作用吗?
Gridview ASCX:
<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="false"
AllowSorting="False">
<HeaderStyle />
<RowStyle />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<table>
<tr>
<td>
<a>Name</a>
<asp:LinkButton ID="btnNameSort" runat="server" Text="Sort Ascending" OnClick="btnNameSort_Click" CommandName="asc" />
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
... Item code
</ItemTemplate>
这是后面的代码:
public void btnNameSort_Click(object sender, EventArgs e)
{
LinkButton btn = (LinkButton)GridView1.HeaderRow.FindControl("btnNameSort");
if (btn.CommandName == "asc")
{
btn.Text = "Sort Descending";
btn.Font.Bold = true;
btn.CommandName = "desc";
updateGridView1(true, "title");
}
else
{
btn.Text = "Sort Ascending";
updateGridView1(false, "title");
}
【问题讨论】: