e.Row.Attributes.Add("onDblClick", "javascript:__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')");
老提示:缺少对象
e.Row.Attributes.Add("onDblClick", "javascript:__doPostBack('GridView1','Select$12')");
还是错为什么啊

解决方案 »

  1.   

    应该是js错误,检查下 id GridView1的sener和Select$(e.Row.RowIndex)
      

  2.   


    好像是onDblClick()吧把onDblClick贴出来看看。
      

  3.   

    缺少对象是因为你没能Select这一列,或者你把这一列给Visible = false;
      

  4.   

    你要把那列设置为客户端的不可见 而不是服务端的不可见,不然在客户端就找不到__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')这个方法了
      

  5.   


     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="CategoryID" DataSourceID="SqlDataSource1" 
                onrowdatabound="GridView1_RowDataBound">
                <Columns>
                    <asp:CommandField ShowEditButton="True" Visible="False" />
                    <asp:BoundField DataField="CategoryID" HeaderText="CategoryID" 
                        InsertVisible="False" ReadOnly="True" SortExpression="CategoryID" />
                    <asp:BoundField DataField="CategoryName" HeaderText="CategoryName" 
                        SortExpression="CategoryName" />
                    <asp:BoundField DataField="Description" HeaderText="Description" 
                        SortExpression="Description" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
                DeleteCommand="DELETE FROM [Categories] WHERE [CategoryID] = @CategoryID" 
                InsertCommand="INSERT INTO [Categories] ([CategoryName], [Description]) VALUES (@CategoryName, @Description)" 
                SelectCommand="SELECT [CategoryID], [CategoryName], [Description] FROM [Categories]" 
                UpdateCommand="UPDATE [Categories] SET [CategoryName] = @CategoryName, [Description] = @Description WHERE [CategoryID] = @CategoryID">
                <DeleteParameters>
                    <asp:Parameter Name="CategoryID" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="CategoryName" Type="String" />
                    <asp:Parameter Name="Description" Type="String" />
                    <asp:Parameter Name="CategoryID" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="CategoryName" Type="String" />
                    <asp:Parameter Name="Description" Type="String" />
                </InsertParameters>
            </asp:SqlDataSource>protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes["onDblClick"] = this.Page.ClientScript.GetPostBackEventReference(this, e.Row.RowIndex.ToString());
            }
        }    #region IPostBackEventHandler 成员    public void RaisePostBackEvent(string eventArgument)
        {
            int selectedRowIndex = -1;
            Int32.TryParse(eventArgument, out selectedRowIndex);        onDblClick(selectedRowIndex);    }    #endregion    public virtual void onDblClick(int i)
        {
            GridView1.EditIndex = i;
        }
      

  6.   

    Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载):
    http://blog.csdn.net/ChengKing/archive/2006/08/03/1015157.aspx
      

  7.   

    缺少 __doPostBack 函数 ?放一个隐藏的Button到页面上<asp:button runat=server style=display:none UseSubmitBehavior=false />