Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tchelocallo

Datalist com paginação em uma aplicação ASPX

Recommended Posts

Galera, boa tarde! Preciso da ajuda de vocês, estou fazendo um “Datalist” com paginação, porém quando dou um debug ele aparece à seguinte mensagem:

 

Error 1 'btnPrev_Click' não é membro de 'ASP.default_aspx'. E:\DatalisDorta\Default.aspx 16

Error 2 'btnNext_Click' não é membro de 'ASP.default_aspx'. E:\DatalisDorta\Default.aspx 18

 

 

Segue abaixo o código fonte para visualização.

html xmlns="http://www.w3.org/1999/xhtml" >
<head>
   <title>Datalist Dorta</title>
</head>
<body>
   <form id="form1" method="post" runat="server">
   <div>
       <table width="100%" border="0">
<tr>
<td>  <asp:label id="lblCurrentPage" runat="server"></asp:label></td>
</tr>
<tr>							    
ERRO	<td>  <asp:Button id = "btnPrev" OnClick = "btnPrev_Click" Text = "<<" runat = "server" />
ERRO	 <asp:Button id="btnNext" Onclick = "btnNext_Click" Text = ">>" runat = "server" /></td>
</tr> 
  </table>
<table border="1">    
               <asp:DataList ID="DataList1" runat="server">
                   <ItemTemplate> 
                       <tr>
                           <td>  <b><%#DataBinder.Eval(Container.DataItem, "ItemName") %> </b></td>
                           <td>  <b><%#DataBinder.Eval(Container.DataItem, "ItemDescription") %> </b></td>
                           <td>  <b><%#DataBinder.Eval(Container.DataItem, "ItemPrice") %> </b></td>
                           <td>  <b><%#DataBinder.Eval(Container.DataItem, "ItemInStock") %> </b></td>
                       </tr>
                   </ItemTemplate>   
               </asp:DataList>
       	</table>
       </div>
   </form>
</body>
</html>

 

===============================================================================

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


public partial class _Default : System.Web.UI.Page
{
    public int CurrentPage
   {
       get
       {
           // look for current page in ViewState
           object o = this.ViewState["_CurrentPage"];
           if (o == null)
               return 0;	// default to showing the first page
           else
               return (int)o;
       }

       set
       {
           this.ViewState["_CurrentPage"] = value;
       }
   }


   private void Page_Load(object sender, System.EventArgs e)
   {
       // Call the ItemsGet method to populate control,
       // passing in the sample data.
       ItemsGet();
   }

   private void ItemsGet()
   {
       // Read sample item info from XML document into a DataSet
       DataSet Items = new DataSet();
       Items.ReadXml(MapPath("Items.xml"));

       // Populate the repeater control with the Items DataSet
       PagedDataSource objPds = new PagedDataSource();
       objPds.DataSource = Items.Tables[0].DefaultView;
       objPds.AllowPaging = true;
       objPds.PageSize = 3;

       objPds.CurrentPageIndex = CurrentPage;

       lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of "
           + objPds.PageCount.ToString();

       // Disable Prev or Next buttons if necessary
       btnPrev_Click.Enabled = !objPds.IsFirstPage;
       btnNext.Click.Enabled = !objPds.IsLastPage;

       DataList1.DataSource = objPds;
       DataList1.DataBind();
   }

   private void btnPrev_Click(object sender, System.EventArgs e)
   {
       // Set viewstate variable to the previous page
       CurrentPage -= 1;

       // Reload control
       ItemsGet();
   }

   private void btnNext_Click(object sender, System.EventArgs e)
   {
       // Set viewstate variable to the next page
       CurrentPage += 1;

       // Reload control
       ItemsGet();
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Você precisa criar os eventos btnPrev_Click e btnNext_Click pois estão declarados no controle <asp:Button

 

 

em C# seria assim :

 

protected void btnPrev_Click(object sender, EventArgs e)

{

 

}

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bem isso mesmo, você declarou os métodos Onclick "private" e eles devem ser "protected" como o colega de cima postou!

Substituindo isso acho que vai parar de dar erro!

 

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, amigos(a)

 

Eu troquei os métodos "private" para "protected", porém continua dando o mesmo erro. Abraço a todos!!!

 

É bem isso mesmo, você declarou os métodos Onclick "private" e eles devem ser "protected" como o colega de cima postou!

Substituindo isso acho que vai parar de dar erro!

 

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, amigos(a)

 

Eu troquei os métodos "private" para "protected", porém continua dando o mesmo erro. Abraço a todos!!!

 

É bem isso mesmo, você declarou os métodos Onclick "private" e eles devem ser "protected" como o colega de cima postou!

Substituindo isso acho que vai parar de dar erro!

 

 

Abraços...

 

No seu primeiro post você colocou o seguinte:

 

html xmlns="http://www.w3.org/1999/xhtml" >
<head>
   <title>Datalist Dorta</title>
</head>
.....

 

 

A sua página _Default.aspx.cs (CodeBehind) deve ser referenciada da seguinte forma no topo da página Default.aspx:

<%@ Page Title="DataList" Language="C#"  AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="PastaOndeEstaAPagina._Default" %>

 

Você pode fazer o seguinte teste. Delete seu evento onclick da página Defaul.aspx.cs e do seu botão também.

Exiba tua página Default.aspx no mode design e dê dois cliques no botão pra ver se vai criar o evento. Caso o evento não seja criado corretamente, acredito que seja algum erro na hora de referenciar o CodeBehind da sua página Web.

 

 

Ou também você pode tentar criar outra página, colocar um botão e criar o evento onclick, (dando dois cliques sobre o botão) e ver se vai dar esse erro também...

 

Faça esses teste e veja se funciona!

 

 

Abç;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.