• VS2005模版列不能获取命令参数!


    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();                      
               
            }
        }

     
    HTML code
    <asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand" DataKeyNames="id"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:ImageButton ID="ibtnOK" runat="server" CommandName="OK" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>


    C# code
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "OK") { int index = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex; //通过下面的方式找到当前行主键 string id = GridView1.DataKeys[index].Value.ToString(); //然后做你的数据库操作 } }
  • 相关阅读:
    Dubbo简介
    Curator的cluster,实现多节点数据共享
    CuratorBarrier
    Curator场景应用
    Curator的监听
    Curator框架基础使用
    MySQL----MySQL数据库入门----第二章 数据库和表的基本操作
    MySQL----MySQL数据库入门----第一章 数据库入门
    PHP-----PHP程序设计基础教程----第四章数组
    PHP-----PHP程序设计基础教程----第三章函数
  • 原文地址:https://www.cnblogs.com/anson/p/460374.html
Copyright © 2020-2023  润新知