uness12
جمعه 01 خرداد 1394, 16:41 عصر
سلام دوستان من با datalist تونستم paging رو پیاده سازی کنم عناصر داخل datalist هم تشکیل شده از چند تا lable و یک عکس ، میخوام وقتی موس رفت روی تصویر ، تصویر عوض بشه و تونستم انجام بدم ولی مشکل اساسی اینجاست که وقتی صفحه بعد میرم دیگه اسکریپ مربوط به تغییر عکس کار نمیکنه لطفا کمک کنید کد ها رو هم میزارم ببینید.
html
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="4">
<ItemTemplate>
<div style="width:300px;height:400px;padding:20px 50px 0px 0px;text-align:center;">
<div style="width:300px;height:400px;text-align:center">
<asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command" onmousemove="move" CommandName="send" CommandArgument='<%# Eval("id") %>'>
<img width="300" height="350" id="<%# "p" + Eval("id") %>" src="<%#"images/content/"+ Eval("id")+"/1/front.jpg" %>" />
</asp:LinkButton>
</div>
<div style="font-size:large;text-align:center;margin-top:-50px">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("cat_type")+" "+ Eval("cat_sex")%>' Font-Size="Medium" Font-Bold="True" />
<br />
برند: <asp:Label ID="lblContactName" runat="server" Text='<%# Eval("brand") %>' Font-Size="Medium" ForeColor="#CC0000" Font-Bold="True" />
<br />
قیمت : <asp:Label ID="lblCompanyName" runat="server" Text='<%# Eval("price") %>' Font-Size="Medium" ForeColor="#CC0000" Font-Bold="True" />
<br />
<center>
<div id="sabad">
<asp:ImageButton ID="ImageButton1" runat="server" Width="140" Height="50" ImageUrl="~/images/bb.png"></asp:ImageButton>
</div>
</center>
</div>
</div>
<br /><br /><br />
<script type="text/javascript">
document.getElementById('<%# "p" + Eval("id") %>').onmouseover = function (e) {
var p = document.getElementById('<%# "p" + Eval("id") %>');
p.src = '<%# "images/content/"+Eval("id")+"/1/free.jpg" %>';
}
document.getElementById('<%# "p" + Eval("id") %>').onmouseout = function (e) {
var p = document.getElementById('<%# "p" + Eval("id") %>');
p.src = '<%# "images/content/"+Eval("id")+"/1/front.jpg" %>';
}
</script>
</ItemTemplate>
</asp:DataList>
<br />
<asp:Repeater ID="rptPager" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lnkPage" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>'
CssClass='<%# Convert.ToBoolean(Eval("Enabled")) ? "page_enabled" : "page_disabled" %>'
OnClick="Page_Changed" OnClientClick='<%# !Convert.ToBoolean(Eval("Enabled")) ? "return false;" : "" %>'></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
c#
private void GetCustomersPageWise(int pageIndex)
{
using (SqlConnection con = new SqlConnection(@"Server=REZA-PC\SQLEXPRESS;Database=dbp;Trusted_Connection=True"))
{
using (SqlCommand cmd = new SqlCommand("GetCustomersPageWise", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
//cmd.Parameters.AddWithValue("@PageSize", PageSize);
cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4);
cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output;
con.Open();
IDataReader idr = cmd.ExecuteReader();
DataList1.DataSource = idr;
DataList1.DataBind();
idr.Close();
con.Close();
int recordCount = Convert.ToInt32(cmd.Parameters["@RecordCount"].Value);
this.PopulatePager(recordCount, pageIndex);
}
}
}
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / Convert.ToDecimal(PageSize));
int pageCount = (int)Math.Ceiling(dblPageCount);
List<ListItem> pages = new List<ListItem>();
if (pageCount > 0)
{
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage));
}
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
protected void Page_Changed(object sender, EventArgs e)
{
pageIndex = int.Parse((sender as LinkButton).CommandArgument);
this.GetCustomersPageWise(pageIndex);
}
html
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="4">
<ItemTemplate>
<div style="width:300px;height:400px;padding:20px 50px 0px 0px;text-align:center;">
<div style="width:300px;height:400px;text-align:center">
<asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command" onmousemove="move" CommandName="send" CommandArgument='<%# Eval("id") %>'>
<img width="300" height="350" id="<%# "p" + Eval("id") %>" src="<%#"images/content/"+ Eval("id")+"/1/front.jpg" %>" />
</asp:LinkButton>
</div>
<div style="font-size:large;text-align:center;margin-top:-50px">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("cat_type")+" "+ Eval("cat_sex")%>' Font-Size="Medium" Font-Bold="True" />
<br />
برند: <asp:Label ID="lblContactName" runat="server" Text='<%# Eval("brand") %>' Font-Size="Medium" ForeColor="#CC0000" Font-Bold="True" />
<br />
قیمت : <asp:Label ID="lblCompanyName" runat="server" Text='<%# Eval("price") %>' Font-Size="Medium" ForeColor="#CC0000" Font-Bold="True" />
<br />
<center>
<div id="sabad">
<asp:ImageButton ID="ImageButton1" runat="server" Width="140" Height="50" ImageUrl="~/images/bb.png"></asp:ImageButton>
</div>
</center>
</div>
</div>
<br /><br /><br />
<script type="text/javascript">
document.getElementById('<%# "p" + Eval("id") %>').onmouseover = function (e) {
var p = document.getElementById('<%# "p" + Eval("id") %>');
p.src = '<%# "images/content/"+Eval("id")+"/1/free.jpg" %>';
}
document.getElementById('<%# "p" + Eval("id") %>').onmouseout = function (e) {
var p = document.getElementById('<%# "p" + Eval("id") %>');
p.src = '<%# "images/content/"+Eval("id")+"/1/front.jpg" %>';
}
</script>
</ItemTemplate>
</asp:DataList>
<br />
<asp:Repeater ID="rptPager" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lnkPage" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>'
CssClass='<%# Convert.ToBoolean(Eval("Enabled")) ? "page_enabled" : "page_disabled" %>'
OnClick="Page_Changed" OnClientClick='<%# !Convert.ToBoolean(Eval("Enabled")) ? "return false;" : "" %>'></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
c#
private void GetCustomersPageWise(int pageIndex)
{
using (SqlConnection con = new SqlConnection(@"Server=REZA-PC\SQLEXPRESS;Database=dbp;Trusted_Connection=True"))
{
using (SqlCommand cmd = new SqlCommand("GetCustomersPageWise", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
//cmd.Parameters.AddWithValue("@PageSize", PageSize);
cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4);
cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output;
con.Open();
IDataReader idr = cmd.ExecuteReader();
DataList1.DataSource = idr;
DataList1.DataBind();
idr.Close();
con.Close();
int recordCount = Convert.ToInt32(cmd.Parameters["@RecordCount"].Value);
this.PopulatePager(recordCount, pageIndex);
}
}
}
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / Convert.ToDecimal(PageSize));
int pageCount = (int)Math.Ceiling(dblPageCount);
List<ListItem> pages = new List<ListItem>();
if (pageCount > 0)
{
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage));
}
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
protected void Page_Changed(object sender, EventArgs e)
{
pageIndex = int.Parse((sender as LinkButton).CommandArgument);
this.GetCustomersPageWise(pageIndex);
}