zoukankan      html  css  js  c++  java
  • 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(); //然后做你的数据库操作 } }
  • 相关阅读:
    【JavaScript框架封装】数据类型检测模块功能封装
    【JavaScript框架封装】数据类型检测模块功能封装
    JavaScript进阶【五】利用JavaScript实现动画的基本思路
    JavaScript进阶【四】JavaScript中的this,apply,call的深入剖析
    JavaScript进阶【三】JavaScript面向对象的基础知识复习
    JavaScript进阶【二】JavaScript 严格模式(use strict)的使用
    JavaScript进阶【一】JavaScript模块化开发的基础知识
    OPENGL学习【一】VS2008开发OPENGL程序开发环境搭建
    WEBGL学习【十五】利用WEBGL实现三维场景的一般思路总结
    Blender软件导出的obj数据格式文件内容解读
  • 原文地址:https://www.cnblogs.com/anson/p/460374.html
Copyright © 2011-2022 走看看