0

私は 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>

そして同じ問題。他のページをクリックしても、この関数は呼び出されません

私はどこかで何かを逃していますか?どんな助けでも大歓迎です!

4

1 に答える 1

0

OnPageIndexChanging持っていない.aspxでイベントを指定する必要があります。そのはず:

<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">
于 2013-02-26T18:44:11.613 に答える