Mam stronę, na której można wybrać gości.Widok siatki niestandardowe stronicowanie wewnątrz kreatora kontroli nie działa poprawnie w asp.net
Ta strona zawiera panel aktualizacji, w panelu aktualizacji nie jest czarodziejem i kontrola w kontroli kreatora jest GridView (Panel> Update Panel -> Kontrola Wizard -> GridView)
Teraz stronicowania nie działa dobrze, szukałem odpowiedzi w Internecie, ale nie znalazłem właściwej odpowiedzi. Używam niestandardowego stronicowania.
Kiedy chcę zmienić numer strony (na drugą lub ostatnią stronę), działa dobrze. Ale gdy chcę wybrać wiersz lub przejść do innej strony, widok siatki nie działa poprawnie. Kiedy wybieram wiersz na drugiej lub ostatniej stronie (inne strony nie działają), wybrany gość (element) jest zawsze jedną z pierwszych stron. Kiedy chcę zmienić na inną stronę (z drugiej lub ostatniej strony), to nie działa i pozostaje na wybranej stronie.
Czy istnieje sposób rozwiązania tego problemu?
część kodu:
<asp:Panel ID="PnlRe" Style="display: none; ... >
<asp:UpdatePanel ID="UpdtPnlDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
...
<asp:Wizard ID="wzd" runat="server" ... >
...
<asp:WizardStep ID="WizardStep3" runat="server" Title="Naam">
...
<asp:Gridview ID="Gridview1" runat="server" AutoGenerateColumns="False"
DataKeyNames="GastID,Versie" DataSourceID="odsGasten" EmptyDataText="...."
OnRowCommand="Gridview1_RowCommand" OnPageIndexChanging="Gridview1_PageIndexChanging"
OnPageSizeChanging="Gridview1_PageSizeChanging" OnSearching="Gridview1_Searching"
OnSorting="Gridview1_Sorting" OnRowDataBound="Gridview1_RowDataBound"
CausesValidation="False" meta:resourcekey="..." PagerType="Custom"
ShowFilter="True" ShowInsertRecord="True" ShowPageSizer="True" UseSubmitBehaviour="False">
<Columns>
<asp:TemplateField ShowHeader="False" meta:resourcekey="...">
<ItemTemplate>
<asp:ImageButton runat="server" CommandName="Select" CausesValidation="False" SkinID="uprowbutton"
ToolTip="..." ID="ImgBtnSelect" meta:resourcekey="...">
</asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
... Boundfields ...
</Columns>
</asp:Gridview>
...
</asp:WizardStep>
...
</asp:Wizard>
</ContentTemplate>
</asp:UpdatePanel>
protected void Gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.odsGasten.FilterExpression = searchText;
this.Gridview1.DataBind();
this.UpdtPnlDetail.Update();
}
Używasz warunkowego UpdatePanel, ale nie widzę żadnych wyzwalaczy. Pominąłeś je lub nie masz zarejestrowanych wyzwalaczy? Jeśli chcesz opuścić UpdatePanel jako warunkowe, uważam, że musisz zarejestrować zdarzenie PageIndexChanging jako wyzwalacz. –