各位大侠,请给份datagrid分页的code学习,高分!---急盼!!! 实话告诉你,应该需要编程的你用web matrix么?它带有几个数据模板的,,你看看它生成的几个例子就什么都明白了。结贴吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在DataGrid的PageIndexChanged事件里加上:private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { DataGrid1.CurrentPageIndex=e.NewPageIndex; BindGrid();//你的绑定数据程序 } http://www.aspxcn.com/dotnetarticle/show.aspx?id=96 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace PhotoLib{ public class LibPictures : System.Web.UI.Page { protected System.Web.UI.WebControls.Label lblRecordCounts; protected System.Web.UI.WebControls.Label lblCurrentPage; protected System.Web.UI.WebControls.Label lblTotalPages; protected System.Web.UI.WebControls.DataList list; protected System.Web.UI.WebControls.LinkButton lbtnFirstPage; protected System.Web.UI.WebControls.LinkButton lbtnPreviousPage; protected System.Web.UI.WebControls.LinkButton lbtnNextPage; protected System.Web.UI.WebControls.LinkButton lbtnLastPage; protected System.Web.UI.HtmlControls.HtmlInputHidden hiSearchStr; protected String searchStr; private DataView dvPhoto; private int intCurrentPage = 1,linkbuttonnum=10; protected System.Web.UI.WebControls.Table table; protected System.Web.UI.WebControls.Label lblRange; protected int PageSize; private void Page_Load(object sender, System.EventArgs e) { //设定PageSize PageSize = 12; if(Request.Form["hiSearchStr"]!=null) { searchStr = Request.Form["hiSearchStr"]; } else searchStr = " and 1=2"; ViewState["searchStr"] = searchStr; if(Request.Form["hiSearchStr"]!=null) { if(ViewState["Clear"]==null) // 这个判断很重要 { Cache.Remove("dvPhoto"); BindGrid(); ViewState["Clear"] = "HasValue"; } } if(!IsPostBack) { Cache.Remove("dvPhoto"); ViewState["currentpage"] = 1; } BindGrid(); CreateNumPage(); //Response.Write(ViewState["searchStr"]); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.list.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.list_ItemDataBound); this.lbtnFirstPage.Click += new System.EventHandler(this.lbtnFirstPage_Click); this.lbtnPreviousPage.Click += new System.EventHandler(this.lbtnPreviousPage_Click); this.lbtnNextPage.Click += new System.EventHandler(this.lbtnNextPage_Click); this.lbtnLastPage.Click += new System.EventHandler(this.lbtnLastPage_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion // 数据绑定到DataGrid private void BindGrid() { GetDataSource(); SetPagingControls(); list.DataSource = dvPhoto; list.DataBind(); } private void CreateNumPage() { if(Cache["dvPhoto"] != null) { dvPhoto = (DataView)Cache["dvPhoto"]; } int start,end,startpoint; int recordcount = dvPhoto.Count; int totalpages = (int)ViewState["totalpage"]; intCurrentPage = (int)ViewState["currentpage"]; bool showafter = true, showbefore = true; startpoint = (int)System.Math.Ceiling((intCurrentPage-1)/linkbuttonnum); TableCell cell = (TableCell)table.FindControl("Link"); if(totalpages<=linkbuttonnum) { linkbuttonnum = totalpages; start = 1; end = linkbuttonnum+1; showafter = false; showbefore = false; } else { if((totalpages-(startpoint*linkbuttonnum))<=linkbuttonnum) { start = startpoint*linkbuttonnum+1; end = start + totalpages-(startpoint*linkbuttonnum); showafter = false; } else { start = startpoint*linkbuttonnum+1; end = (startpoint+1)*linkbuttonnum+1; showbefore = (startpoint==0)?false:true; } } if(showbefore) { LinkButton lbm = new LinkButton(); lbm.CommandName = "numbutton"; int beforepoint = startpoint - 1; lbm.CommandArgument = (beforepoint*linkbuttonnum+1).ToString(); lbm.ID = (beforepoint*linkbuttonnum+1).ToString(); lbm.Text = "..."; lbm.Font.Size = FontUnit.Point(9); lbm.Command += new System.Web.UI.WebControls.CommandEventHandler(OnLinkClick); cell.Controls.Add(lbm); Literal ll = new Literal(); ll.Text = " "; cell.Controls.Add(ll); } for(int i=start;i<end;i++) { if(intCurrentPage != i) { LinkButton lb = new LinkButton(); lb.CommandName = "numbutton"; lb.CommandArgument = i.ToString(); lb.ID = i.ToString(); lb.Text = i.ToString(); lb.ForeColor = Color.Black; lb.Font.Bold = false; lb.Font.Size = FontUnit.Point(9); lb.Command += new System.Web.UI.WebControls.CommandEventHandler(OnLinkClick); cell.Controls.Add(lb); } else { Label lbl = new Label(); lbl.Text = "[" + i.ToString() + "]"; lbl.ForeColor = Color.Red; lbl.Font.Bold = true; lbl.Font.Size = FontUnit.Point(9); cell.Controls.Add(lbl); } Literal l = new Literal(); l.Text = " "; cell.Controls.Add(l); } if(showafter) { LinkButton lbm = new LinkButton(); lbm.CommandName = "numbutton"; int afterpoint = startpoint + 1; lbm.CommandArgument = (afterpoint*linkbuttonnum+1).ToString(); lbm.ID = (afterpoint*linkbuttonnum+1).ToString(); lbm.Text = "..."; lbm.Font.Size = FontUnit.Point(9); lbm.Command += new System.Web.UI.WebControls.CommandEventHandler(OnLinkClick); cell.Controls.Add(lbm); } } // 创建数据集 private DataSet CreateDataSet() { PhotoLib.PicturesDB pictures = new PhotoLib.PicturesDB(); DataSet ds = pictures.GetPicturesByAdvanceSearch(ViewState["searchStr"].ToString()); DataTable dt = ds.Tables[0]; dt.Columns.Add("RowID",Type.GetType("System.Int32")); dt.AcceptChanges(); return ds; } // 获得数据源 private void GetDataSource() { if(Cache["dvPhoto"] != null) { dvPhoto = (DataView)Cache["dvPhoto"]; } else { dvPhoto = CreateDataSet().Tables[0].DefaultView; Cache["dvPhoto"] = dvPhoto; } RenumberRowsForPaging(ref dvPhoto); } // 对分页进行行的重新编号 private void RenumberRowsForPaging(ref DataView dv) { dvPhoto.RowFilter = ""; int i = 1; foreach(DataRowView drwv in dv) { drwv["RowID"] = i; i += 1; } } // 设置分页控制 public void SetPagingControls() { string strFirstRec = ((intCurrentPage - 1) * PageSize).ToString(); string strLastRec = ((intCurrentPage * PageSize) + 1).ToString(); lblRecordCounts.Text = "共找到 " + dvPhoto.Count.ToString() + " 张图片"; int intTotalPages = int.Parse(System.Math.Ceiling(dvPhoto.Count / PageSize).ToString()); if(dvPhoto.Count % PageSize != 0) intTotalPages += 1; dvPhoto.RowFilter = "RowID > " + strFirstRec + " AND RowID < " + strLastRec; intCurrentPage = (int)ViewState["currentpage"]; lblCurrentPage.Text = intCurrentPage.ToString(); lblTotalPages.Text = intTotalPages.ToString(); ViewState["totalpage"] = intTotalPages; int startRange,endRange; startRange = int.Parse(strFirstRec)+1; endRange = int.Parse(strLastRec)-1; if(intCurrentPage == 1) { lbtnPreviousPage.Enabled = false; if(intTotalPages > 1) lbtnNextPage.Enabled = true; else { lbtnNextPage.Enabled = false; endRange = dvPhoto.Count; } } else { lbtnPreviousPage.Enabled = true; if(intCurrentPage == intTotalPages) { lbtnNextPage.Enabled = false; endRange = startRange + dvPhoto.Count -1; } else lbtnNextPage.Enabled = true; } if(dvPhoto.Count == 0) { lbtnPreviousPage.Enabled = false; lbtnNextPage.Enabled = false; lblCurrentPage.Text = "0"; startRange = endRange = 0; } lblRange.Text = "本页显示:" + startRange.ToString() + " - " + endRange.ToString() + " 张"; } private void ClearLinkButton() { ViewState[""] = "true"; TableCell cell = (TableCell)table.FindControl("Link"); cell.Controls.Clear(); } private void OnLinkClick(object sender, System.Web.UI.WebControls.CommandEventArgs e) { int lbId = Int32.Parse(e.CommandArgument.ToString()); ViewState["currentpage"] = intCurrentPage = lbId; ClearLinkButton(); BindGrid(); CreateNumPage(); } private void lbtnFirstPage_Click(object sender, System.EventArgs e) { ViewState["currentpage"] = intCurrentPage = 1; ClearLinkButton(); BindGrid(); CreateNumPage(); } private void lbtnPreviousPage_Click(object sender, System.EventArgs e) { intCurrentPage = (int)ViewState["currentpage"] - 1; ViewState["currentpage"] = intCurrentPage; ClearLinkButton(); BindGrid(); CreateNumPage(); } private void lbtnNextPage_Click(object sender, System.EventArgs e) { intCurrentPage = (int)ViewState["currentpage"] + 1; ViewState["currentpage"] = intCurrentPage; ClearLinkButton(); BindGrid(); CreateNumPage(); } private void lbtnLastPage_Click(object sender, System.EventArgs e) { ViewState["currentpage"] = int.Parse(lblTotalPages.Text); intCurrentPage = int.Parse(lblTotalPages.Text); ClearLinkButton(); BindGrid(); CreateNumPage(); } protected String GetFileName(String imageid) { String yearstr = imageid.Substring(0,4); String datestr = imageid.Substring(0,8); String typestr = imageid.Substring(11,1); String path = "PicLib/SmallPic/" + yearstr +"p/PhotoC/" + datestr + "/"; // 分类图片 if(typestr == "b") path = "PicLib/SmallPic/" + yearstr +"p/PhotoP/" + datestr + "/"; // 专业图片 return (path + imageid); } protected int GetPicWidth(String imageid) { String yearstr = imageid.Substring(0,4); String datestr = imageid.Substring(0,8); String typestr = imageid.Substring(11,1); String path = "PicLib/MidPic/" + yearstr +"p/PhotoC/" + datestr + "/"; // 分类图片 if(typestr == "b") path = "PicLib/MidPic/" + yearstr +"p/PhotoP/" + datestr + "/"; // 专业图片 imageid = imageid.Substring(0,13)+"2.jpg"; System.Drawing.Image img = null; try { img = System.Drawing.Image.FromFile(Server.MapPath(path+imageid)); return (img.Height>=573)?(img.Width+24):(img.Width+6); } catch { return 0; } finally { if(img!=null) img.Dispose(); } } protected int GetPicHeight(String imageid) { String yearstr = imageid.Substring(0,4); String datestr = imageid.Substring(0,8); String typestr = imageid.Substring(11,1); String path = "PicLib/MidPic/" + yearstr +"p/PhotoC/" + datestr + "/"; // 分类图片 if(typestr == "b") path = "PicLib/MidPic/" + yearstr +"p/PhotoP/" + datestr + "/"; // 专业图片 imageid = imageid.Substring(0,13)+"2.jpg"; System.Drawing.Image img = null; try { img = System.Drawing.Image.FromFile(Server.MapPath(path+imageid)); return (img.Height>=573)?573:(img.Height+25); } catch { return 0; } finally { if(img!=null) img.Dispose(); } } protected String GetPictureNumber(String pictureId) { int num; PhotoLib.PicturesDB pictures = new PhotoLib.PicturesDB(); DataSet ds = pictures.GetPictureDetails(pictureId); num = ds.Tables[0].Rows.Count; if(num>1) return "(" + num + "张)"; else return String.Empty; } private void list_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { HtmlInputHidden pimg = (HtmlInputHidden) e.Item.FindControl("pimg"); HtmlImage myimg = (HtmlImage)e.Item.FindControl("myimg"); HtmlAnchor link = (HtmlAnchor)e.Item.FindControl("link"); myimg.Src = GetFileName(pimg.Value); if(GetPicWidth(pimg.Value)!=0) link.HRef = "javascript:window.showModalDialog('Customers/ShowMidPicture.aspx?pid="+pimg.Value+"','','dialogHeight:"+GetPicHeight(pimg.Value)+"px;dialogWidth:"+GetPicWidth(pimg.Value)+"px;center:yes;help:no;status:no;scroll:auto')"; } }} http://lucky_elove.www1.dotnetplayground.com/ShowDetail.aspx?id=B12283DE-DB20-4322-ACCC-12724442808A aspnetpager 分页显示问题 linq如何多条件查询 急急!!!!!!数据走向 求教育!怎样用代码给动态生成的表格添加样式? 高手请进 学.net如何才可以更快的达到自己创造的境界 EXCEL导入sql 数字能导入 ,不能导入字母和汉字 能否在特定方法内使验证控件失效 csdn的论坛非常棒,但每次来都要输入密码,能不能把密码保存住呀? 今天是“9.11”一周年!请问大家有什么感想??? 如能能远程启动iis? 如何用2003 + iis6架设asp.net服务器?
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
BindGrid();//你的绑定数据程序
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace PhotoLib
{
public class LibPictures : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lblRecordCounts;
protected System.Web.UI.WebControls.Label lblCurrentPage;
protected System.Web.UI.WebControls.Label lblTotalPages;
protected System.Web.UI.WebControls.DataList list;
protected System.Web.UI.WebControls.LinkButton lbtnFirstPage;
protected System.Web.UI.WebControls.LinkButton lbtnPreviousPage;
protected System.Web.UI.WebControls.LinkButton lbtnNextPage;
protected System.Web.UI.WebControls.LinkButton lbtnLastPage;
protected System.Web.UI.HtmlControls.HtmlInputHidden hiSearchStr;
protected String searchStr;
private DataView dvPhoto;
private int intCurrentPage = 1,linkbuttonnum=10;
protected System.Web.UI.WebControls.Table table;
protected System.Web.UI.WebControls.Label lblRange;
protected int PageSize;
private void Page_Load(object sender, System.EventArgs e)
{
//设定PageSize
PageSize = 12; if(Request.Form["hiSearchStr"]!=null)
{
searchStr = Request.Form["hiSearchStr"];
}
else
searchStr = " and 1=2";
ViewState["searchStr"] = searchStr; if(Request.Form["hiSearchStr"]!=null)
{
if(ViewState["Clear"]==null) // 这个判断很重要
{
Cache.Remove("dvPhoto");
BindGrid();
ViewState["Clear"] = "HasValue";
}
} if(!IsPostBack)
{
Cache.Remove("dvPhoto");
ViewState["currentpage"] = 1;
} BindGrid();
CreateNumPage(); //Response.Write(ViewState["searchStr"]);
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.list.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.list_ItemDataBound);
this.lbtnFirstPage.Click += new System.EventHandler(this.lbtnFirstPage_Click);
this.lbtnPreviousPage.Click += new System.EventHandler(this.lbtnPreviousPage_Click);
this.lbtnNextPage.Click += new System.EventHandler(this.lbtnNextPage_Click);
this.lbtnLastPage.Click += new System.EventHandler(this.lbtnLastPage_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion // 数据绑定到DataGrid
private void BindGrid()
{
GetDataSource();
SetPagingControls(); list.DataSource = dvPhoto;
list.DataBind();
} private void CreateNumPage()
{
if(Cache["dvPhoto"] != null)
{
dvPhoto = (DataView)Cache["dvPhoto"];
} int start,end,startpoint;
int recordcount = dvPhoto.Count;
int totalpages = (int)ViewState["totalpage"];
intCurrentPage = (int)ViewState["currentpage"];
bool showafter = true, showbefore = true;
startpoint = (int)System.Math.Ceiling((intCurrentPage-1)/linkbuttonnum);
TableCell cell = (TableCell)table.FindControl("Link");
if(totalpages<=linkbuttonnum)
{
linkbuttonnum = totalpages;
start = 1;
end = linkbuttonnum+1;
showafter = false;
showbefore = false;
}
else
{
if((totalpages-(startpoint*linkbuttonnum))<=linkbuttonnum)
{
start = startpoint*linkbuttonnum+1;
end = start + totalpages-(startpoint*linkbuttonnum);
showafter = false;
}
else
{
start = startpoint*linkbuttonnum+1;
end = (startpoint+1)*linkbuttonnum+1;
showbefore = (startpoint==0)?false:true;
}
}
if(showbefore)
{
LinkButton lbm = new LinkButton();
lbm.CommandName = "numbutton";
int beforepoint = startpoint - 1;
lbm.CommandArgument = (beforepoint*linkbuttonnum+1).ToString();
lbm.ID = (beforepoint*linkbuttonnum+1).ToString();
lbm.Text = "...";
lbm.Font.Size = FontUnit.Point(9);
lbm.Command += new System.Web.UI.WebControls.CommandEventHandler(OnLinkClick);
cell.Controls.Add(lbm);
Literal ll = new Literal();
ll.Text = " ";
cell.Controls.Add(ll);
} for(int i=start;i<end;i++)
{
if(intCurrentPage != i)
{
LinkButton lb = new LinkButton();
lb.CommandName = "numbutton";
lb.CommandArgument = i.ToString();
lb.ID = i.ToString();
lb.Text = i.ToString();
lb.ForeColor = Color.Black;
lb.Font.Bold = false;
lb.Font.Size = FontUnit.Point(9);
lb.Command += new System.Web.UI.WebControls.CommandEventHandler(OnLinkClick);
cell.Controls.Add(lb);
}
else
{
Label lbl = new Label();
lbl.Text = "[" + i.ToString() + "]";
lbl.ForeColor = Color.Red;
lbl.Font.Bold = true;
lbl.Font.Size = FontUnit.Point(9);
cell.Controls.Add(lbl);
}
Literal l = new Literal();
l.Text = " ";
cell.Controls.Add(l);
}
if(showafter)
{
LinkButton lbm = new LinkButton();
lbm.CommandName = "numbutton";
int afterpoint = startpoint + 1;
lbm.CommandArgument = (afterpoint*linkbuttonnum+1).ToString();
lbm.ID = (afterpoint*linkbuttonnum+1).ToString();
lbm.Text = "...";
lbm.Font.Size = FontUnit.Point(9);
lbm.Command += new System.Web.UI.WebControls.CommandEventHandler(OnLinkClick);
cell.Controls.Add(lbm);
}
}
private DataSet CreateDataSet()
{
PhotoLib.PicturesDB pictures = new PhotoLib.PicturesDB();
DataSet ds = pictures.GetPicturesByAdvanceSearch(ViewState["searchStr"].ToString()); DataTable dt = ds.Tables[0];
dt.Columns.Add("RowID",Type.GetType("System.Int32"));
dt.AcceptChanges(); return ds;
} // 获得数据源
private void GetDataSource()
{
if(Cache["dvPhoto"] != null)
{
dvPhoto = (DataView)Cache["dvPhoto"];
}
else
{
dvPhoto = CreateDataSet().Tables[0].DefaultView;
Cache["dvPhoto"] = dvPhoto;
} RenumberRowsForPaging(ref dvPhoto);
} // 对分页进行行的重新编号
private void RenumberRowsForPaging(ref DataView dv)
{
dvPhoto.RowFilter = ""; int i = 1;
foreach(DataRowView drwv in dv)
{
drwv["RowID"] = i;
i += 1;
}
} // 设置分页控制
public void SetPagingControls()
{
string strFirstRec = ((intCurrentPage - 1) * PageSize).ToString();
string strLastRec = ((intCurrentPage * PageSize) + 1).ToString();
lblRecordCounts.Text = "共找到 " + dvPhoto.Count.ToString() + " 张图片"; int intTotalPages = int.Parse(System.Math.Ceiling(dvPhoto.Count / PageSize).ToString());
if(dvPhoto.Count % PageSize != 0)
intTotalPages += 1;
dvPhoto.RowFilter = "RowID > " + strFirstRec + " AND RowID < " + strLastRec; intCurrentPage = (int)ViewState["currentpage"];
lblCurrentPage.Text = intCurrentPage.ToString(); lblTotalPages.Text = intTotalPages.ToString();
ViewState["totalpage"] = intTotalPages; int startRange,endRange;
startRange = int.Parse(strFirstRec)+1;
endRange = int.Parse(strLastRec)-1;
if(intCurrentPage == 1)
{
lbtnPreviousPage.Enabled = false;
if(intTotalPages > 1)
lbtnNextPage.Enabled = true;
else
{
lbtnNextPage.Enabled = false;
endRange = dvPhoto.Count;
}
}
else
{
lbtnPreviousPage.Enabled = true;
if(intCurrentPage == intTotalPages)
{
lbtnNextPage.Enabled = false;
endRange = startRange + dvPhoto.Count -1;
}
else
lbtnNextPage.Enabled = true;
} if(dvPhoto.Count == 0)
{
lbtnPreviousPage.Enabled = false;
lbtnNextPage.Enabled = false;
lblCurrentPage.Text = "0";
startRange = endRange = 0;
} lblRange.Text = "本页显示:" + startRange.ToString() + " - " + endRange.ToString() + " 张";
} private void ClearLinkButton()
{
ViewState[""] = "true";
TableCell cell = (TableCell)table.FindControl("Link");
cell.Controls.Clear();
} private void OnLinkClick(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
int lbId = Int32.Parse(e.CommandArgument.ToString());
ViewState["currentpage"] = intCurrentPage = lbId;
ClearLinkButton();
BindGrid();
CreateNumPage();
} private void lbtnFirstPage_Click(object sender, System.EventArgs e)
{
ViewState["currentpage"] = intCurrentPage = 1;
ClearLinkButton();
BindGrid();
CreateNumPage();
} private void lbtnPreviousPage_Click(object sender, System.EventArgs e)
{
intCurrentPage = (int)ViewState["currentpage"] - 1;
ViewState["currentpage"] = intCurrentPage;
ClearLinkButton();
BindGrid();
CreateNumPage();
} private void lbtnNextPage_Click(object sender, System.EventArgs e)
{
intCurrentPage = (int)ViewState["currentpage"] + 1;
ViewState["currentpage"] = intCurrentPage;
ClearLinkButton();
BindGrid();
CreateNumPage();
} private void lbtnLastPage_Click(object sender, System.EventArgs e)
{
ViewState["currentpage"] = int.Parse(lblTotalPages.Text);
intCurrentPage = int.Parse(lblTotalPages.Text);
ClearLinkButton();
BindGrid();
CreateNumPage();
} protected String GetFileName(String imageid)
{
String yearstr = imageid.Substring(0,4);
String datestr = imageid.Substring(0,8);
String typestr = imageid.Substring(11,1); String path = "PicLib/SmallPic/" + yearstr +"p/PhotoC/" + datestr + "/"; // 分类图片
if(typestr == "b")
path = "PicLib/SmallPic/" + yearstr +"p/PhotoP/" + datestr + "/"; // 专业图片 return (path + imageid);
} protected int GetPicWidth(String imageid)
{
String yearstr = imageid.Substring(0,4);
String datestr = imageid.Substring(0,8);
String typestr = imageid.Substring(11,1); String path = "PicLib/MidPic/" + yearstr +"p/PhotoC/" + datestr + "/"; // 分类图片
if(typestr == "b")
path = "PicLib/MidPic/" + yearstr +"p/PhotoP/" + datestr + "/"; // 专业图片 imageid = imageid.Substring(0,13)+"2.jpg";
System.Drawing.Image img = null; try
{
img = System.Drawing.Image.FromFile(Server.MapPath(path+imageid));
return (img.Height>=573)?(img.Width+24):(img.Width+6);
}
catch
{
return 0;
}
finally
{
if(img!=null) img.Dispose();
}
} protected int GetPicHeight(String imageid)
{
String yearstr = imageid.Substring(0,4);
String datestr = imageid.Substring(0,8);
String typestr = imageid.Substring(11,1); String path = "PicLib/MidPic/" + yearstr +"p/PhotoC/" + datestr + "/"; // 分类图片
if(typestr == "b")
path = "PicLib/MidPic/" + yearstr +"p/PhotoP/" + datestr + "/"; // 专业图片 imageid = imageid.Substring(0,13)+"2.jpg";
System.Drawing.Image img = null; try
{
img = System.Drawing.Image.FromFile(Server.MapPath(path+imageid));
return (img.Height>=573)?573:(img.Height+25);
}
catch
{
return 0;
}
finally
{
if(img!=null) img.Dispose();
}
} protected String GetPictureNumber(String pictureId)
{
int num;
PhotoLib.PicturesDB pictures = new PhotoLib.PicturesDB();
DataSet ds = pictures.GetPictureDetails(pictureId);
num = ds.Tables[0].Rows.Count; if(num>1)
return "(" + num + "张)";
else
return String.Empty;
} private void list_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
HtmlInputHidden pimg = (HtmlInputHidden) e.Item.FindControl("pimg");
HtmlImage myimg = (HtmlImage)e.Item.FindControl("myimg");
HtmlAnchor link = (HtmlAnchor)e.Item.FindControl("link");
myimg.Src = GetFileName(pimg.Value);
if(GetPicWidth(pimg.Value)!=0)
link.HRef = "javascript:window.showModalDialog('Customers/ShowMidPicture.aspx?pid="+pimg.Value+"','','dialogHeight:"+GetPicHeight(pimg.Value)+"px;dialogWidth:"+GetPicWidth(pimg.Value)+"px;center:yes;help:no;status:no;scroll:auto')";
}
}
}