我在GridView中用了一个表格,一行中有两个图片按钮!我想当单击这个按钮时会换成另一个按钮并且颜色发生变化!另一个按钮也一样!我就是想实现不确定时单击这个按钮然后图片换成另一个!背景也变颜色!代码如何实现?多谢!让大家见笑了!

解决方案 »

  1.   

    使用两个linkbutton,当点击其中一个就隐藏当前点击的那个并且显示另一个按钮。
      

  2.   

    在gridview的RowCommand这个事件里处理,linkbutton前台设置如下:
    <asp:TemplateField HeaderText="管理" >
                                                                             <ItemTemplate>
                                                                                <asp:LinkButton ID="UpdateTel" runat="server" Text="修改"
                                        CommandArgument='<%# Eval("TeleMarketing_id").ToString() %>' CommandName="UpdateTel" CausesValidation="False" ></asp:LinkButton>
                                                                                <asp:LinkButton ID="DelTel" runat="server" Text="删除" style='<%# ToStatus() %>'
                                        CommandArgument='<%# Eval("TeleMarketing_id").ToString() %>' CommandName="DelTel" CausesValidation="False" OnClientClick="javascript:return confirm('是否确认删除?')"></asp:LinkButton> 
                                                                            </ItemTemplate>
                                                                            <ItemStyle Width="10%" />
                                                                        </asp:TemplateField>
    后台:
    /// <summary>
        /// 列表事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void gdTeleMarketing_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            DataSet ds = DataContrl.GetEmployee_loginRole(int.Parse(UserId));
            //公司
            if (e.CommandName.ToString() == "SetCompany")
            {
                if (hasUCompany(ds))
                {
                    Session["T"] = "T";
                    string[] str = e.CommandArgument.ToString().Split(',');
                    Session["telId"] = str[0];
                    Session["comId"] = str[1];
                    Response.Write("<script>window.open('CompanyAdd.aspx?p=T','_self');</script>");
                }
            }
            //是否到会
            if (e.CommandName.ToString() == "SetArrive")
            {
                if (hasSetArrive(ds))
                {
                    this.trReceipt.Visible = false;
                    this.trArrive.Visible = true;
                    this.hidden1.Value = e.CommandArgument.ToString();
                }
            }
            //是否回执
            if (e.CommandName.ToString() == "SetReceipt")
            {
                if (hasSetReceipt(ds))
                {
                    this.trReceipt.Visible = true;
                    this.trArrive.Visible = false;
                    this.hidden1.Value = e.CommandArgument.ToString();
                }
            }
            ////是否签单
            //if (e.CommandName.ToString() == "SetSign")
            //{
            //    if (HasSetSign(ds))
            //    {
            //        this.trSign.Visible = true;
            //        this.trArrive.Visible = false;
            //        this.hidden1.Value = e.CommandArgument.ToString();
            //    }
            //}
            //修改
            if (e.CommandName.ToString() == "UpdateTel")
            {
                Session["M"] = "U";
                Session["TelId"] = e.CommandArgument.ToString();
                Response.Write("<script>window.open('SetTel.aspx?','_self');</script>");
            }
            //删除
            if (e.CommandName.ToString() == "DelTel")
            {
                if (DataContrl.DeleteTeleMarketting(int.Parse(e.CommandArgument.ToString())))
                {
                    Response.Write("<script>alert('删除成功!');</script>");
                    BindGrid(Session["strWhere"].ToString());
                }
                else
                {
                    Response.Write("<script>alert('删除失败!');</script>");
                }
            }
        }