当我点击带有分页的GridView页面时没有任何反应

时间:2013-02-25 22:37:28

标签: asp.net-mvc-3 gridview paging sqldatasource

我是C#和.NET的新手,但现在已经坚持了几天,我正在使用MVC 3(.NET 4.0)Web应用程序。

我查看了教程,使用以下代码制作了一个基于SqlDataSource的GridView:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
            OnPageIndexChanging = "GridView1_PageIndexChanging"
            AutoGenerateColumns="False" DataKeyNames="LastName,FirstName"
            EnablePersistedSelection="True" SelectedRowStyle-BackColor="Yellow" 
            DataSourceID="SqlDataSource1" AllowSorting="True" >
            <Columns>
                <asp:BoundField DataField="LastName" HeaderText="Last Name" ReadOnly="True" SortExpression="LastName" />
                <asp:BoundField DataField="FirstName" HeaderText="First Name" ReadOnly="True" SortExpression="FirstName" />
                ...
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
            SelectCommand="SELECT * FROM User WHERE [IsDeleted]=0"></asp:SqlDataSource> 

然而,当我点击不同的页面时,没有任何反应(看起来它重新加载了相同的页面),但当我在Chrome中的新标签页中打开时,它只是在我将鼠标悬停在链接上时打开一个空白页面“2”转到第2页,这就是显示:

javascript:__doPostBack('ctl00$MainContent$GridView1','Page$2') 

当我点击标题进行排序时,没有任何事情像页面一样发生,链接说明了这一点:

javascript:__doPostBack('ctl00$MainContent$GridView1','Sort$WindowsUsername')

我也尝试过将aspx文件置于其中:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.master" Inherits="..." %>
<script runat="server">

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        GridView1.DataBind();
    }
</script>

同样的问题。单击其他页面时,甚至不会调用此函数

我错过了什么地方吗?任何帮助赞赏!

1 个答案:

答案 0 :(得分:0)

您必须在.aspx中为OnPageIndexChanging指定您没有的事件。它应该是:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        OnPageIndexChanging = "GridView1_PageIndexChanging" 
        AutoGenerateColumns="False" DataKeyNames="LastName,FirstName"
        EnablePersistedSelection="True" SelectedRowStyle-BackColor="Yellow" 
        DataSourceID="SqlDataSource1" AllowSorting="True">