Click here to Skip to main content
15,885,365 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I trying to use this

C#
void rptPages_ItemCommand(Object sender, RepeaterCommandEventArgs e)
        {
            PageNumber = (e.CommandArgument) - 1;

           
        }




Errror is
VB
Error   1    cannot be applied to operands of type 'object' and 'int'   D:\prog\Repeater2\Repeater2\WebForm1.aspx.cs    76  26  Repeater2
Posted
Comments
Anurag Sinha V 15-Mar-13 4:26am    
Hi,
Use typecasting.
e.CommandArgument is actually an Object type and 1 is an integer, you can't subtract an object type and an integer type.Try to convert your operands in the same type and execute it.
1989priya 15-Mar-13 4:27am    
Hi anurag sinha...I am new in .net.I dont more.

Please can you tell me how to typecast?
frostcox 15-Mar-13 4:44am    
Hey he is simply saying use, PageNumber = (int)e.CommandArgument - 1.
Cheers
1989priya 15-Mar-13 4:47am    
Hay Mickt1985 show a error That is invalid expression term int

1 solution

Try:
C#
void rptPages_ItemCommand(Object sender, RepeaterCommandEventArgs e)
        {
            if (e.CommandArgument is int)
            {
                PageNumber = (int) e.CommandArgument - 1;
            }
        }
 
Share this answer
 
Comments
1989priya 15-Mar-13 4:50am    
Hi OriginalGrifF thanks for reply but its also showing error i.e invalid expression term int
OriginalGriff 15-Mar-13 5:01am    
Check you typed is exactly - then if you did, copy and paste what you have and indicate which line the compiler is complaining about.
1989priya 15-Mar-13 5:21am    
Hi OriginalGriff yaa,I checked out exactly,This is showing an error on this line
OriginalGriff 15-Mar-13 5:25am    
"an error on this line"
Um. Which? And paste your code so we can see exactly what you have.
1989priya 15-Mar-13 5:32am    
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Repeater2.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="rptPages" runat="server" >
<HeaderTemplate>
<table border="1" cellpadding="0" cellspacing="0">
</HeaderTemplate>
<itemtemplate>
<asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument="<%#Container.DataItem %>" runat="server"><%# Container.DataItem %>

<footertemplate>

</table>


<asp:Repeater ID="rptItems" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<itemtemplate>

<li>
<%#DataBinder.Eval(Container.DataItem,"pid")%>
<%#DataBinder.Eval(Container.DataItem,"pname") %>
<%#DataBinder.Eval(Container.DataItem,"qty") %>
<%#DataBinder.Eval(Container.DataItem,"unitprice") %>
</li>

<footertemplate>
</ul>


</div>
</form>
</body>
</html>




using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Repeater2
{
public partial class WebForm1 : System.Web.UI.Page
{
SqlConnection con;
SqlDataAdapter da;
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
con = new SqlConnection("Data Source=.;Initial Catalog=rept;Integrated Security=True");
if (!Page.IsPostBack)
LoadData();
}
private void LoadData()
{
con.Open();
da = new SqlDataAdapter("select * from product", con);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
PagedDataSource pgitems = new PagedDataSource();
DataView dv = new DataView(dt);
pgitems.DataSource = dv;
pgitems.AllowPaging = true;
pgitems.PageSize = 5;
pgitems.CurrentPageIndex = PageNumber;
if (pgitems.PageCount > 1)
{
rptPages.Visible = true;
ArrayList pages = new ArrayList();
for (int i = 0; i < pgitems.PageCount; i++)
pages.Add((i + 1).ToString());
rptPages.DataSource = pages;
rptPages.DataBind();

}
else
{
rptPages.Visible = false;
}
rptItems.DataSource = pgitems;
rptItems.DataBind();
}
public int PageNumber
{
get
{
if (ViewState["PageNumber"] != null)
return Convert.ToInt32(ViewState["PageNumber"]);
else
return 0;
}
set
{
ViewState["PageNumber"] = value;
}
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
rptPages.ItemCommand += new RepeaterCommandEventHandler(rptPages_ItemCommand);
}
void rptPages_ItemCommand(Object sender, RepeaterCommandEventArgs e)
{
if(e.CommandArgument is int)
{
PageNumber = int(e.CommandArgument) - 1;
LoadData();
}
}
}
}

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900