选中某行,获取当前行的值,Textbox的值为空,其它的值都有,这是为什么?protected void list_SelectedIndexChanged(object sender, EventArgs e)
    {
        string sfhg1,hgyy1;
        string qybm1 = qybm;
        GridViewRow row = list.SelectedRow;
        string mc = row.Cells[2].Text.Trim();                       RadioButtonList rblidea = (RadioButtonList)row.FindControl("rblidea");
        TextBox str = (TextBox)row.FindControl("YY");
        TextBox str2 = (TextBox)row.FindControl("GG");        hgyy1 = str.Text;
        string hgyy2 = str2.Text;
        if (rblidea.Items[0].Selected == true)
        {
            sfhg1 = "1";
        }
        else
        {
            sfhg1 = "0";
        }
     }

解决方案 »

  1.   

    page_load
    {
      if(!IsPostBack){}
    }
      

  2.   

    page_load
    {
      if(!IsPostBack){}
    }
      你需要加载一次,
      

  3.   

    要不然每执行一回,他就要重新加载呗加上!ispostback 程序加载的时候加载一次,不会每执行一次加载一次了
      

  4.   

    我加上去了,textbox的值是可以读出来了,但是我在页面载入的时候绑定了其它的数据源,加了这句执行的时候,我绑定的数据源就不执行了,该怎么样处理一下?if (!IsPostBack)
            {
            
                if (Request.QueryString["bm"] != null)
                {
                    string zbggbm = Request.QueryString["sgzbbm"].ToString().Trim();
                    DataSet ds = DotNet.SqlCon.RunProcKeyDataSet("SelectMd", "bm", zbggbm, 50);
                    if (ds != null)
                    {
                        SetQylb(ds);
                    }               list.DataSource = ds;
                   list.DataBind();
          }
    }
      

  5.   

    if (!IsPostBack)
            {
            
                if (Request.QueryString["sgzbbm"] != null)
                {
                  string zbggbm = Request.QueryString["sgzbbm"].ToString().Trim();
                  DataSet ds = DotNet.SqlCon.RunProcKeyDataSet("SelectMd", "bm", zbggbm, 50);
                    if (ds != null)
                    {
                        SetQylb(ds);
                    }                list.DataSource = ds;
                    list.DataBind();
                }
          }