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语句里去

  • 相关阅读:
    java解析纯真IP数据库,查询IP,导出所有数据,插入oracle
    安装Oracle 9i,提示数据库提取错误
    eclipse(myeclipse)tomcat插件,加载不了工程,空启动,如何解决
    TCP/UDP协议,在QQ中的应用
    QueryExtender控件之RangeExpression
    ASP.NET缓存依赖SQL Server 2005与SQL Server 2008缓存依赖
    QueryExtender控件之PropertyExpression
    QueryExtender控件之CustomExpression
    荣获2009年“微软最有影响力开发者”
    fckeditor编辑器上传文件出现invalid Request问题解决
  • 原文地址:https://www.cnblogs.com/wenming205/p/1260872.html
Copyright © 2011-2022 走看看