0

在添加此代码之前,我收到有关 GridView 触发事件 PageIndexChanging 的错误,该事件未处理且与排序相同。所以我添加了这个事件代码然后我得到编译错误说,“CS1061:'ASP.serveredit_aspx'不包含'GridViewServer_PageIndexChanging'的定义,并且没有扩展方法'GridViewServer_PageIndexChanging'接受'ASP.serveredit_aspx'类型的第一个参数可以被发现”。但是,我在 C# 中也已经有了该事件代码。请帮忙

这是我的 GridView 属性代码,

<asp:GridView ID="GridViewServer" runat="server" AllowPaging="True" AllowSorting="True" OnPageIndexChanging="GridViewServer_PageIndexChanging" OnSorting="GridViewServer_Sorting" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="ServerName" GridLines="None" ShowFooter="True" onrowcancelingedit="GridViewServer_RowCancelingEdit" 
        onrowdeleting="GridViewServer_RowDeleting" onrowediting="GridViewServer_RowEditing" 
        onrowupdating="GridViewServer_RowUpdating">

此事件背后的 C# 代码,

private string ConvertSortDirectionToSql(SortDirection sortDirection)
    {
        string newSortDirection = String.Empty;

        switch (sortDirection)
        {
            case SortDirection.Ascending:
                newSortDirection = "ASC";
                break;

            case SortDirection.Descending:
                newSortDirection = "DESC";
                break;
        }

        return newSortDirection;
    }

    protected void gridViewServer_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridViewServer.PageIndex = e.NewPageIndex;
        GridViewServer.DataBind();
    }

    protected void gridViewServer_Sorting(object sender, GridViewSortEventArgs e)
    {
        DataTable dataTable = GridViewServer.DataSource as DataTable;

        if (dataTable != null)
        {
            DataView dataView = new DataView(dataTable);
            dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);

            GridViewServer.DataSource = dataView;
            GridViewServer.DataBind();
        }
    }
4

1 回答 1

0

我意识到 gridViewServer_PageIndexChanging 和 gridViewServer_Sorting 是小写的。我忘记大写了。

于 2012-11-30T20:19:17.863 回答