当我点击页面上GridView与分页时什么也没有发生
问题描述:
我是新来的C#和.NET,但坚持了几天,现在我使用MVC 3(.NET 4.0)Web应用程序。当我点击页面上GridView与分页时什么也没有发生
我通过教程看,使基于与下面的代码一个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>
而且同样的问题。当我点击其他页面时,这个功能甚至没有被调用
我在某处丢失了什么吗?任何帮助感谢!
答
您必须在您的.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">
对不起,我其实是有,在我的原代码,忘了粘贴将其放在 – zergy 2013-02-26 20:53:24
在哪里,你是如何结合GridView的? – 2013-02-27 06:53:53
它通过aspx文件中的SqlDataSource绑定 – zergy 2013-02-27 17:06:55