【问题标题】:Nothing happens when I click on page on GridView with paging当我通过分页单击 GridView 上的页面时没有任何反应
【发布时间】:2013-02-25 22:37:27
【问题描述】:

我是 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>

同样的问题。当我点击其他页面时,甚至没有调用这个函数

我是否在某处遗漏了什么?任何帮助表示赞赏!

【问题讨论】:

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


    【解决方案1】:

    您必须在.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">
    

    【讨论】:

    • 对不起,我原来的代码里有这个,忘记粘贴了。会放进去的。
    • 你在哪里以及如何绑定gridview?
    • 通过aspx文件中的SqlDataSource绑定
    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多