希望虫

就是喜欢和你在一起的感觉!

gridview中row的选择

VS2005模版列不能获取命令参数,不是模版列的话是完全没有问题的!
 <Columns>
                
<asp:TemplateField HeaderText="模版列选择">
                
<ItemTemplate>
                
<asp:LinkButton ID="lbkID" runat="server" CommandName="chooseModel" >选择</asp:LinkButton>
                
</ItemTemplate>
                
</asp:TemplateField>
                
<asp:ButtonField CommandName="choosecol" HeaderText="不是模版列的选择"  Text="选择" />
                
<asp:BoundField DataField="name" />
            
</Columns>

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    
{
        
if (e.CommandName == "chooseModel")
        
{
            
//会出错
            string i = Convert.ToString(e.CommandArgument);
            

        }

        
if (e.CommandName == "choosecol")
        
{
            
//不会出错
            string i = Convert.ToString(e.CommandArgument);
           
// Response.Write(i);
        }

    }

发现如果在模版列使用了e.CommandArgument 程序会报错!
但在其他列里是可以用的!

模板列里放的控件的   CommandArgument 属性设置下值 ,没设置的话好像取不到

CommandArgument ="<%#  GridView1.Rows.Count %>"


  protected void GridViewIw1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "chooseModel")
        {
            int index = Convert.ToInt32(e.CommandArgument);
           string CID = GridViewIw1.DataKeys[index].Value.ToString();                      
           
        }
    }

posted on 2007-05-23 10:53  希望虫  阅读(259)  评论(0)    收藏  举报

导航