私は 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>
そして同じ問題。他のページをクリックしても、この関数は呼び出されません
私はどこかで何かを逃していますか?どんな助けでも大歓迎です!