给这个linkbutton加一个单击事件,然后在事件里面写方法就可以了。

解决方案 »

  1.   


    //前台参考:
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                    <Columns>
                        <asp:TemplateField>
                            <HeaderTemplate>
                                操作
                            </HeaderTemplate>
                            <ItemTemplate>
                                <asp:LinkButton OnClick="CZ" runat="server" ID="lnk" Text='<%#Eval("deletestate").ToString()=="1"?"未屏蔽":"已屏蔽"%>' />
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>//后台:
     protected void CZ(object sender, EventArgs e)
        {
            //强转sender对象
            LinkButton lb = (LinkButton)sender;
            //获取sender对象所在的行
            GridViewRow gvr = (GridViewRow)lb.Parent.Parent;
            //获取当前行的主键值
            string id = GridView1.DataKeys[gvr.RowIndex].Value.ToString();
            int stateid = 0;
            //如果linkbutton的文本为未屏蔽,说明数据库中实际为已屏蔽
            if (lb.Text == "未屏蔽")
            {
                stateid = 0;
            }
            else
            {
                stateid = 1;
            }
            //更改状态
            new UserManager().UpdateState(int.Parse(id), stateid);
    //重新绑定
            data();
        }