zoukankan      html  css  js  c++  java
  • Gridivew里的Textbox值取不出来?

    以前做东西时没发现过这个问题,因为以前做的都是用的gridview自己提供的按钮,没有自己加上的.

    今天做东西加了几个排序的按钮.

    处理这个两个按钮的事件如下:

     protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "up")
            {
                int id = Convert.ToInt32(e.CommandArgument);
                Cfitn.Model.SChannel channel = Cfitn.BLL.SChannelCode.GetChannel(id);
                Cfitn.BLL.SChannelCode.ChannelUp(channel);
                Response.Write("<script language='javascript'>alert('前置成功!');</script>"); 
            }
            if (e.CommandName == "down")
            {
                int id = Convert.ToInt32(e.CommandArgument);
                Cfitn.Model.SChannel channel = Cfitn.BLL.SChannelCode.GetChannel(id);
                Cfitn.BLL.SChannelCode.ChannelDown(channel);
                Response.Write("<script language='javascript'>alert('后置成功!');</script>");
            }

              gvBind();//数据绑定

    }

    然后更新时命令如下:

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string strurl= ((DropDownList)GridView1.Rows[e.RowIndex].Cells[2].FindControl("ddlUrl")).SelectedValue;
            string name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
            int numhit = Convert.ToInt32(((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.Trim());
            int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0].ToString());
            Cfitn.Model.SChannel channel = Cfitn.BLL.SChannelCode.GetChannel(id);
            channel.Vc2URL = strurl;
            channel.NumClick = numhit;
            channel.Vc2ChannelName = name;
            Cfitn.BLL.SChannelCode.UpdateChannel(channel);
            Response.Write("<script language='javascript'>alert('修改成功!');</script>");
            GridView1.EditIndex = -1;
            gvBind();
        }

     

    可是执行的时候就出现问题了,数据修改了,也提示成功了,可就是数据没有更新.

    最后开始找问题,是不是!Page.ispostback没写,可查看了一下Page_load 也写了呀,想来想去一定是什么地方把数据重新绑定了一次.最后终于发现了.原来不论是自己添加的按钮还是gridview自带的按钮.它都要响应RowCommand事件.

     

    所以这个问题的解决办法就是:RowCommand里的数据绑定事件,分别写入到两个if语句里去

  • 相关阅读:
    概述各种事务隔离级别发生的影响
    linux内核的经典书籍
    sso 登录,网页跳转的实现方式
    初探移动网站的架构和设计
    C# PrintDocument 打印
    .Text分页技术(1)分页的存储过程分析
    SQL2008使用CTE递归查询批量插入500万数据
    自己写的Web服务器
    OMCS 语音视频框架
    ESFramework4.x
  • 原文地址:https://www.cnblogs.com/wenming205/p/1260872.html
Copyright © 2011-2022 走看看