我是初学者,我想问一下在Gridview中的protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e){}中可以
 protected void imgPass_Click(object sender, ImageClickEventArgs e){ }gridview里的按钮事件吗?
比如    protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
     {
         imgPass_Click(object sender, ImageClickEventArgs e);
     }

解决方案 »

  1.   

     protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
      {
      imgPass_Click(null,null);
      }
      

  2.   

    就是实现双击gridview行跳转页面  我知道在protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e){}用  e.Row.Attributes.Add("ondblclick", 页面名?id)就可以实现的,
    我现在已经有方法了 ,是从页面获取来的id    protected void imgUpdate_Click(object sender, ImageClickEventArgs e)
        {
                string strName = (sender as ImageButton).CommandArgument;
                string strFunc = (sender as ImageButton).ID;
                Response.Redirect("zx_YXshippingSel.aspx?id=" + strName + "&FID=" + strFunc + "");
        }但是他们要求我,已经有这个方法了 都能获取来id了,为什么不能在GridView_RowDataBound直接调用呢?我知道这样好像不可以,但是要求我的那个人他不太了解.net,一直做的是c/s的程序,我现在给他讲,我也讲不清楚, 所以想在网上找一下在GridView_RowDataBound里 能直接调用imgUpdate_Click(object sender, ImageClickEventArgs e)的方法吗?他让我在GridView_RowDataBound里重新定义(sender,ImageClickEventArgs e),不知道各位看明白我的意思了没有,我怎么才能给他讲明白呢?
      

  3.   

        protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //ib在前台不用设onclick
            ImageButton ib = (ImageButton)e.Row.FindControl("imgPass");
            string strName = "sss";
            string strFunc = "22";        ib.CommandArgument = strName + ":" + strFunc;
            ib.Command += new CommandEventHandler(ib_Command);        Response.Redirect("zx_YXshippingSel.aspx?id=" + strName + "&FID=" + strFunc + "");
        }    void imgPass_Click(object sender, CommandEventArgs e)
        {
            string[] args = e.CommandArgument.ToString().Split(":");        string strName = args[0];
            string strFunc = args[1];
            Response.Redirect("zx_YXshippingSel.aspx?id=" + strName + "&FID=" + strFunc + "");
        }
    是这种要求吗
      

  4.   

    ib_Command ==> imgPass_Click
      

  5.   

    可直接
    protected void Button1_Click(object sender, EventArgs e)
      {
      Button btn= sender as Button;
      int Index = ((GridViewRow)(btn.NamingContainer)).RowIndex;//获得行号
       string a = ((Label)GridView1.Rows[Index].Cells[0].FindControl("Label1")).Text;
      }
      

  6.   


    你的RowDataBound只是在页面上注册双击事件到底是去干什么,而不是执行什么双击。只有从服务器端将事件注册到浏览器端,浏览器端才会知道该不该、如何执行双击事件,而来自于浏览器端的双击事件才会再一次访问服务器执行下一步操作。这就好像你去注册登记结婚,你再猴急也不能直接把登记处领了证直接脱光了睡觉吧!
      

  7.   

    必须的程序,因为有必须的基本框架。浏览器和web服务器,以及asp.net到底向浏览器发送什么、从浏览器接受什么,可以亲自使用fiddler或者之类的工具观察http命令,这些最基本的http调试知识都是web开发基本技能。如果忽略了最基本的底层通讯机制,就是瞎编软件了。