我在这个函数体内定义了一个变量:cide_id 并且付值了:
protected void gviewJd_record_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
string Code_id = gviewJd_record.Rows[gviewJd_record.SelectedIndex].Cells[3].Text;
}在另一个函数体内就不能用,提示出错:上下中没找到名称:"code_id",
 protected void gviewJd_record_RowCommand(object sender, GridViewCommandEventArgs e)
    {
 SqlDataSource1.UpdateCommand = sql;
            SqlDataSource1.UpdateCommandType = SqlDataSourceCommandType.Text;
            SqlDataSource1.UpdateParameters.Add("code_id", TypeCode.String, Code_id);
...............
}我不知怎么搞才行。
我的目得是:在GridView中选中一行,并把这行中的字段"code_id"的值,插在新增行的code_id 处。
新增行是在Footer.现在我按设置好的调试也不行了,按F5,却不在断点处停,我也不知为什么?
我是菜鸟,各位老大帮忙,在线等。

解决方案 »

  1.   

    string Code_id;
    protected void gviewJd_record_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
    Code_id = gviewJd_record.Rows[gviewJd_record.SelectedIndex].Cells[3].Text;
    }
     protected void gviewJd_record_RowCommand(object sender, GridViewCommandEventArgs e)
        {
     SqlDataSource1.UpdateCommand = sql;
                SqlDataSource1.UpdateCommandType = SqlDataSourceCommandType.Text;
                SqlDataSource1.UpdateParameters.Add("code_id", TypeCode.String, Code_id);
    ...............
    }看明白没?把申明放在函数外面就行了
      

  2.   

    private static string code_id
      

  3.   

    string Code_id = gviewJd_record.Rows[gviewJd_record.SelectedIndex].Cells[3].Text;
    这个是局部变量,只能在gviewJd_record_SelectedIndexChanging事件中使用,别的方法得不到值的,把变量声明成全局变量试试!
      

  4.   

    是不是写成:public static string Code_id
              
    string recordCode_id = ((TextBox)gviewJd_record.FooterRow.FindControl("NewCode_id")).Text;
    这一句是把Footer的值付给recordCode_id。
    那把Code_id的值付给Footer让它马上显示出来,怎么写呢?
      

  5.   

    我可以在gviewJd_record_SelectedIndexChanging事件中处理完它:
    把选择行的code_id的值取出来,马上插到脚行Footer的相应字段code_id上,
    关键是怎么写上去,就象copy一样,怎么拷贝上去,让它显示出来。