在gridview中有多个模版列,其中用两个LinkButton列,点击不同的LinkButton列实现不同操作,在SelectedIndexChanged中如何判断是点的不同的列,也就是如何取ID值?

解决方案 »

  1.   

    <asp:LinkButton CommandArgument
      

  2.   

    有个datakeysname属性,你设成绑定时的id后,那么你点击某一列就可以取得此id。如果你只是想取得索引。那么你可以真接通过e的参数去取得。
      
    -------------------------------------------
    MSN:[email protected] 
    请给我与您交流的机会
      

  3.   

    我的意思是如何区分两个LinkButton列,好像和datakeynames没有关系吧。
    你说可以真接通过e的参数去取得,怎么取?在SelectedIndexChanged事件里面取不到吧?
      

  4.   

    commandname="按钮名" 再通过e.commandname来区分
      

  5.   

    给每个LinkButton一个CommandName,然后通过e.CommandName进行区分
      

  6.   

    换ButtonFiled吧  视觉效果是一样的
    然后设置CommandName区分
      

  7.   

    commandname="按钮名" 再通过e.commandname来区分
      

  8.   

    根据孟子老大的一句经典回复:CommandArgument='<%#DataBinder.Eval(Container,"RowIndex")%>',我推断,是不是这样,先把行号绑定给模版列上按钮的CommandArgument属性,然后把模版列上按钮的onclick事件选择到一个写好的onclick事件上,再根据e.CommandName和CommandArgument进行相关操作。事件不会出发GridView的ItemCommand,估计得自己写。
      

  9.   

    我是新手!
    在那个地方用e.commandname?SelectedIndexChanged事件里面没有。
    在其他事件里面还是再自定义事件?
    请指点!!!
      

  10.   

    CommandName="a"CommandName="b"    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int nIdx = EConvert.ToInt(e.CommandArgument.ToString());        GridViewRow row = this.GridView1.Rows[nIdx];        string strFID = row.Cells[0].Text;
            try
            {
                switch (e.CommandName)
                {
                    case "a":
                        ...
                        break;
                    case "b":
                        ...
                        break;
                }
            }
            catch (Exception ex)
            {
                EScript.PopEx(this, "GridView1_RowCommand", "数据处理时出错:\\n" + ex.Message);
            }
        }
      

  11.   

    加一个CommandName="aaa";RowCommand事件中
    if(e.CommandName=="aaa")
    {
       //执行代码
    }