并且可以下一笔, 上一笔, 最前一笔, 最后一笔, 而第一次加载图片时不能 load 太久, 且下一笔时也不能 load 太久,
请问有类似功能的源码或库, 可以参考的吗? thanks!
10 个解决方案
#1
上一笔,下一笔啥意思。。。
是上一张图片,下一张图片吗。
你从数据库读,可以采用预读的机制,把当前图片的前后几张图片先读出来,缓存下来。
这样,切换的时候可以加快速度。
是上一张图片,下一张图片吗。
你从数据库读,可以采用预读的机制,把当前图片的前后几张图片先读出来,缓存下来。
这样,切换的时候可以加快速度。
#2
笔这个单位这里做何解。。。
可以参照楼上的方案
可以参照楼上的方案
#3
一般不都是图片直接放服务器图片目录里,数据库里存个路径就好了
来回折腾图片数据有什么意义
来回折腾图片数据有什么意义
#4
图片存成二进制还要解析,图片一般都是存成文件,数据库里存路径
#5
请问一下各位, 现在需要 Asp.ne 实现一个类似图片浏览的功能, 输入日期区间后, 从数据库中读取大量二进制图片,显示出来,
并且可以下一张, 上一张, 最前一张, 最后一张, 而第一次加载图片时不能 load 太久, 且下一笔时也不能 load 太久,
请问有类似功能的源码或库, 可以参考的吗? thanks!
并且可以下一张, 上一张, 最前一张, 最后一张, 而第一次加载图片时不能 load 太久, 且下一笔时也不能 load 太久,
请问有类似功能的源码或库, 可以参考的吗? thanks!
#6
http://www.cnblogs.com/lhb25/archive/2011/07/20/33-mega-jquery-image-plugins-collection.html
#7
http://www.cnblogs.com/triggor/archive/2012/03/29/2423287.html
自己看看吧 哪有来了就要源码的
你先按照别人做的修改成自己想要的 遇到问题了再来问
自己看看吧 哪有来了就要源码的
你先按照别人做的修改成自己想要的 遇到问题了再来问
#8
#9
简单的方法,用GridView来显示,
它自带有分页功能。第一页只显示一张图片,即一笔记录。启用分页功能。
它自带有分页功能。第一页只显示一张图片,即一笔记录。启用分页功能。
#10
ASP.NET读取数据库图片、并且翻页显示
//图片展示控件设置
<asp:DataList ID="dlPictrue" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" onitemcommand="dlPictrue_ItemCommand"
onitemdatabound="dlPictrue_ItemDataBound" DataKeyField="ID">
<ItemTemplate>
<a href="#">
<img alt='<%# Eval("C_Name")%>' src='UpSmall/<%# Eval("url") %>'
style="border-width:0px; width: 289px; height: 224px;"/></a>
<a href="#">相册名称:<%# Eval("C_Name").ToString().Length > 5 ? Eval("C_Name").ToString().Substring(0, 5) + "..." : Eval("C_Name")%>(共<%# Eval("p_num")%>张)</a>
<br />
<asp:ImageButton ID="ImageButton1" runat="server" AlternateText="进入并浏览" CommandName="Delete"
ImageUrl="~/images/index01_08.gif" CausesValidation="False" />
</ItemTemplate>
<asp:Label ID="labCurrentPage" runat="server"></asp:Label>
/
<asp:Label ID="labPageCount" runat="server"></asp:Label>
<asp:LinkButton ID="lnkbtnFirst" runat="server" CommandName="first"
Font-Underline="False" ForeColor="Black" CausesValidation="False">首页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnFront" runat="server" CommandName="pre"
Font-Underline="False" ForeColor="Black" CausesValidation="False">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnNext" runat="server" CommandName="next"
Font-Underline="False" ForeColor="Black" CausesValidation="False">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnLast" runat="server" CommandName="last"
Font-Underline="False" ForeColor="Black" CausesValidation="False">尾页</asp:LinkButton>
跳转至:<asp:TextBox ID="txtPage" runat="server" Height="21px" Width="35px" CssClass="watermark"></asp:TextBox>
<asp:Button ID="Button1" runat="server" CommandName="search" Height="23px"
Text="GO" Width="46px" CausesValidation="False" /> <FooterTemplate>
</FooterTemplate>
</asp:DataList>//codego.net/tags/11/1/
//cs页面绑定控件加载数据库数据
protected static PagedDataSource pds = new PagedDataSource();//创建一个分页数据源的对象且一定要声明为静态
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
this.BindDataList(0);
}
public void BindDataList(int currentpage)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
pds.AllowPaging = true;//允许分页
pds.PageSize = 6;//每页显示3条数据
pds.CurrentPageIndex = currentpage;//当前页为传入的一个int型值
string strSql = "select A.*,"
+ "(select count(*) from Photo1 B where B.CategoryID = A.ID) AS p_num,"
+ "(select top 1 C.url from Photo1 C where C.CategoryID = A.ID) AS url "
+ "from Photo_Category1 AS A "
+ "where A.C_Status ='公开' "
+ "and A.ID in "
+ "(select CategoryID from Photo1)";
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);//把执行得到的数据放在数据集中
pds.DataSource = ds.Tables[0].DefaultView;//把数据集中的数据放入分页数据源中
dlPictrue.DataSource = pds;//把数据集中的数据放入分页数据源中
dlPictrue.DataBind();//绑定数据
conn.Close();
}
//翻页显示
protected void dlPictrue_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
//以下六个为得到脚模板中的控件,并创建变量.
Label CurrentPage = e.Item.FindControl("labCurrentPage") as Label;
Label PageCount = e.Item.FindControl("labPageCount") as Label;
LinkButton FirstPage = e.Item.FindControl("lnkbtnFirst") as LinkButton;
LinkButton PrePage = e.Item.FindControl("lnkbtnFront") as LinkButton;
LinkButton NextPage = e.Item.FindControl("lnkbtnNext") as LinkButton;
LinkButton LastPage = e.Item.FindControl("lnkbtnLast") as LinkButton;
CurrentPage.Text = (pds.CurrentPageIndex + 1).ToString();//绑定显示当前页
PageCount.Text = pds.PageCount.ToString();//绑定显示总页数
if (pds.IsFirstPage)//如果是第一页,首页和上一页不能用
{
FirstPage.Enabled = false;
PrePage.Enabled = false;
}
if (pds.IsLastPage)//如果是最后一页"下一页"和"尾页"按钮不能用
{
NextPage.Enabled = false;
LastPage.Enabled = false;
}
}
}
//图片展示控件设置
<asp:DataList ID="dlPictrue" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" onitemcommand="dlPictrue_ItemCommand"
onitemdatabound="dlPictrue_ItemDataBound" DataKeyField="ID">
<ItemTemplate>
<a href="#">
<img alt='<%# Eval("C_Name")%>' src='UpSmall/<%# Eval("url") %>'
style="border-width:0px; width: 289px; height: 224px;"/></a>
<a href="#">相册名称:<%# Eval("C_Name").ToString().Length > 5 ? Eval("C_Name").ToString().Substring(0, 5) + "..." : Eval("C_Name")%>(共<%# Eval("p_num")%>张)</a>
<br />
<asp:ImageButton ID="ImageButton1" runat="server" AlternateText="进入并浏览" CommandName="Delete"
ImageUrl="~/images/index01_08.gif" CausesValidation="False" />
</ItemTemplate>
<asp:Label ID="labCurrentPage" runat="server"></asp:Label>
/
<asp:Label ID="labPageCount" runat="server"></asp:Label>
<asp:LinkButton ID="lnkbtnFirst" runat="server" CommandName="first"
Font-Underline="False" ForeColor="Black" CausesValidation="False">首页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnFront" runat="server" CommandName="pre"
Font-Underline="False" ForeColor="Black" CausesValidation="False">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnNext" runat="server" CommandName="next"
Font-Underline="False" ForeColor="Black" CausesValidation="False">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnLast" runat="server" CommandName="last"
Font-Underline="False" ForeColor="Black" CausesValidation="False">尾页</asp:LinkButton>
跳转至:<asp:TextBox ID="txtPage" runat="server" Height="21px" Width="35px" CssClass="watermark"></asp:TextBox>
<asp:Button ID="Button1" runat="server" CommandName="search" Height="23px"
Text="GO" Width="46px" CausesValidation="False" /> <FooterTemplate>
</FooterTemplate>
</asp:DataList>//codego.net/tags/11/1/
//cs页面绑定控件加载数据库数据
protected static PagedDataSource pds = new PagedDataSource();//创建一个分页数据源的对象且一定要声明为静态
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
this.BindDataList(0);
}
public void BindDataList(int currentpage)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
pds.AllowPaging = true;//允许分页
pds.PageSize = 6;//每页显示3条数据
pds.CurrentPageIndex = currentpage;//当前页为传入的一个int型值
string strSql = "select A.*,"
+ "(select count(*) from Photo1 B where B.CategoryID = A.ID) AS p_num,"
+ "(select top 1 C.url from Photo1 C where C.CategoryID = A.ID) AS url "
+ "from Photo_Category1 AS A "
+ "where A.C_Status ='公开' "
+ "and A.ID in "
+ "(select CategoryID from Photo1)";
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);//把执行得到的数据放在数据集中
pds.DataSource = ds.Tables[0].DefaultView;//把数据集中的数据放入分页数据源中
dlPictrue.DataSource = pds;//把数据集中的数据放入分页数据源中
dlPictrue.DataBind();//绑定数据
conn.Close();
}
//翻页显示
protected void dlPictrue_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
//以下六个为得到脚模板中的控件,并创建变量.
Label CurrentPage = e.Item.FindControl("labCurrentPage") as Label;
Label PageCount = e.Item.FindControl("labPageCount") as Label;
LinkButton FirstPage = e.Item.FindControl("lnkbtnFirst") as LinkButton;
LinkButton PrePage = e.Item.FindControl("lnkbtnFront") as LinkButton;
LinkButton NextPage = e.Item.FindControl("lnkbtnNext") as LinkButton;
LinkButton LastPage = e.Item.FindControl("lnkbtnLast") as LinkButton;
CurrentPage.Text = (pds.CurrentPageIndex + 1).ToString();//绑定显示当前页
PageCount.Text = pds.PageCount.ToString();//绑定显示总页数
if (pds.IsFirstPage)//如果是第一页,首页和上一页不能用
{
FirstPage.Enabled = false;
PrePage.Enabled = false;
}
if (pds.IsLastPage)//如果是最后一页"下一页"和"尾页"按钮不能用
{
NextPage.Enabled = false;
LastPage.Enabled = false;
}
}
}
#1
上一笔,下一笔啥意思。。。
是上一张图片,下一张图片吗。
你从数据库读,可以采用预读的机制,把当前图片的前后几张图片先读出来,缓存下来。
这样,切换的时候可以加快速度。
是上一张图片,下一张图片吗。
你从数据库读,可以采用预读的机制,把当前图片的前后几张图片先读出来,缓存下来。
这样,切换的时候可以加快速度。
#2
笔这个单位这里做何解。。。
可以参照楼上的方案
可以参照楼上的方案
#3
一般不都是图片直接放服务器图片目录里,数据库里存个路径就好了
来回折腾图片数据有什么意义
来回折腾图片数据有什么意义
#4
图片存成二进制还要解析,图片一般都是存成文件,数据库里存路径
#5
请问一下各位, 现在需要 Asp.ne 实现一个类似图片浏览的功能, 输入日期区间后, 从数据库中读取大量二进制图片,显示出来,
并且可以下一张, 上一张, 最前一张, 最后一张, 而第一次加载图片时不能 load 太久, 且下一笔时也不能 load 太久,
请问有类似功能的源码或库, 可以参考的吗? thanks!
并且可以下一张, 上一张, 最前一张, 最后一张, 而第一次加载图片时不能 load 太久, 且下一笔时也不能 load 太久,
请问有类似功能的源码或库, 可以参考的吗? thanks!
#6
http://www.cnblogs.com/lhb25/archive/2011/07/20/33-mega-jquery-image-plugins-collection.html
#7
http://www.cnblogs.com/triggor/archive/2012/03/29/2423287.html
自己看看吧 哪有来了就要源码的
你先按照别人做的修改成自己想要的 遇到问题了再来问
自己看看吧 哪有来了就要源码的
你先按照别人做的修改成自己想要的 遇到问题了再来问
#8
#9
简单的方法,用GridView来显示,
它自带有分页功能。第一页只显示一张图片,即一笔记录。启用分页功能。
它自带有分页功能。第一页只显示一张图片,即一笔记录。启用分页功能。
#10
ASP.NET读取数据库图片、并且翻页显示
//图片展示控件设置
<asp:DataList ID="dlPictrue" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" onitemcommand="dlPictrue_ItemCommand"
onitemdatabound="dlPictrue_ItemDataBound" DataKeyField="ID">
<ItemTemplate>
<a href="#">
<img alt='<%# Eval("C_Name")%>' src='UpSmall/<%# Eval("url") %>'
style="border-width:0px; width: 289px; height: 224px;"/></a>
<a href="#">相册名称:<%# Eval("C_Name").ToString().Length > 5 ? Eval("C_Name").ToString().Substring(0, 5) + "..." : Eval("C_Name")%>(共<%# Eval("p_num")%>张)</a>
<br />
<asp:ImageButton ID="ImageButton1" runat="server" AlternateText="进入并浏览" CommandName="Delete"
ImageUrl="~/images/index01_08.gif" CausesValidation="False" />
</ItemTemplate>
<asp:Label ID="labCurrentPage" runat="server"></asp:Label>
/
<asp:Label ID="labPageCount" runat="server"></asp:Label>
<asp:LinkButton ID="lnkbtnFirst" runat="server" CommandName="first"
Font-Underline="False" ForeColor="Black" CausesValidation="False">首页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnFront" runat="server" CommandName="pre"
Font-Underline="False" ForeColor="Black" CausesValidation="False">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnNext" runat="server" CommandName="next"
Font-Underline="False" ForeColor="Black" CausesValidation="False">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnLast" runat="server" CommandName="last"
Font-Underline="False" ForeColor="Black" CausesValidation="False">尾页</asp:LinkButton>
跳转至:<asp:TextBox ID="txtPage" runat="server" Height="21px" Width="35px" CssClass="watermark"></asp:TextBox>
<asp:Button ID="Button1" runat="server" CommandName="search" Height="23px"
Text="GO" Width="46px" CausesValidation="False" /> <FooterTemplate>
</FooterTemplate>
</asp:DataList>//codego.net/tags/11/1/
//cs页面绑定控件加载数据库数据
protected static PagedDataSource pds = new PagedDataSource();//创建一个分页数据源的对象且一定要声明为静态
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
this.BindDataList(0);
}
public void BindDataList(int currentpage)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
pds.AllowPaging = true;//允许分页
pds.PageSize = 6;//每页显示3条数据
pds.CurrentPageIndex = currentpage;//当前页为传入的一个int型值
string strSql = "select A.*,"
+ "(select count(*) from Photo1 B where B.CategoryID = A.ID) AS p_num,"
+ "(select top 1 C.url from Photo1 C where C.CategoryID = A.ID) AS url "
+ "from Photo_Category1 AS A "
+ "where A.C_Status ='公开' "
+ "and A.ID in "
+ "(select CategoryID from Photo1)";
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);//把执行得到的数据放在数据集中
pds.DataSource = ds.Tables[0].DefaultView;//把数据集中的数据放入分页数据源中
dlPictrue.DataSource = pds;//把数据集中的数据放入分页数据源中
dlPictrue.DataBind();//绑定数据
conn.Close();
}
//翻页显示
protected void dlPictrue_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
//以下六个为得到脚模板中的控件,并创建变量.
Label CurrentPage = e.Item.FindControl("labCurrentPage") as Label;
Label PageCount = e.Item.FindControl("labPageCount") as Label;
LinkButton FirstPage = e.Item.FindControl("lnkbtnFirst") as LinkButton;
LinkButton PrePage = e.Item.FindControl("lnkbtnFront") as LinkButton;
LinkButton NextPage = e.Item.FindControl("lnkbtnNext") as LinkButton;
LinkButton LastPage = e.Item.FindControl("lnkbtnLast") as LinkButton;
CurrentPage.Text = (pds.CurrentPageIndex + 1).ToString();//绑定显示当前页
PageCount.Text = pds.PageCount.ToString();//绑定显示总页数
if (pds.IsFirstPage)//如果是第一页,首页和上一页不能用
{
FirstPage.Enabled = false;
PrePage.Enabled = false;
}
if (pds.IsLastPage)//如果是最后一页"下一页"和"尾页"按钮不能用
{
NextPage.Enabled = false;
LastPage.Enabled = false;
}
}
}
//图片展示控件设置
<asp:DataList ID="dlPictrue" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" onitemcommand="dlPictrue_ItemCommand"
onitemdatabound="dlPictrue_ItemDataBound" DataKeyField="ID">
<ItemTemplate>
<a href="#">
<img alt='<%# Eval("C_Name")%>' src='UpSmall/<%# Eval("url") %>'
style="border-width:0px; width: 289px; height: 224px;"/></a>
<a href="#">相册名称:<%# Eval("C_Name").ToString().Length > 5 ? Eval("C_Name").ToString().Substring(0, 5) + "..." : Eval("C_Name")%>(共<%# Eval("p_num")%>张)</a>
<br />
<asp:ImageButton ID="ImageButton1" runat="server" AlternateText="进入并浏览" CommandName="Delete"
ImageUrl="~/images/index01_08.gif" CausesValidation="False" />
</ItemTemplate>
<asp:Label ID="labCurrentPage" runat="server"></asp:Label>
/
<asp:Label ID="labPageCount" runat="server"></asp:Label>
<asp:LinkButton ID="lnkbtnFirst" runat="server" CommandName="first"
Font-Underline="False" ForeColor="Black" CausesValidation="False">首页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnFront" runat="server" CommandName="pre"
Font-Underline="False" ForeColor="Black" CausesValidation="False">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnNext" runat="server" CommandName="next"
Font-Underline="False" ForeColor="Black" CausesValidation="False">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnLast" runat="server" CommandName="last"
Font-Underline="False" ForeColor="Black" CausesValidation="False">尾页</asp:LinkButton>
跳转至:<asp:TextBox ID="txtPage" runat="server" Height="21px" Width="35px" CssClass="watermark"></asp:TextBox>
<asp:Button ID="Button1" runat="server" CommandName="search" Height="23px"
Text="GO" Width="46px" CausesValidation="False" /> <FooterTemplate>
</FooterTemplate>
</asp:DataList>//codego.net/tags/11/1/
//cs页面绑定控件加载数据库数据
protected static PagedDataSource pds = new PagedDataSource();//创建一个分页数据源的对象且一定要声明为静态
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
this.BindDataList(0);
}
public void BindDataList(int currentpage)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
pds.AllowPaging = true;//允许分页
pds.PageSize = 6;//每页显示3条数据
pds.CurrentPageIndex = currentpage;//当前页为传入的一个int型值
string strSql = "select A.*,"
+ "(select count(*) from Photo1 B where B.CategoryID = A.ID) AS p_num,"
+ "(select top 1 C.url from Photo1 C where C.CategoryID = A.ID) AS url "
+ "from Photo_Category1 AS A "
+ "where A.C_Status ='公开' "
+ "and A.ID in "
+ "(select CategoryID from Photo1)";
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);//把执行得到的数据放在数据集中
pds.DataSource = ds.Tables[0].DefaultView;//把数据集中的数据放入分页数据源中
dlPictrue.DataSource = pds;//把数据集中的数据放入分页数据源中
dlPictrue.DataBind();//绑定数据
conn.Close();
}
//翻页显示
protected void dlPictrue_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
//以下六个为得到脚模板中的控件,并创建变量.
Label CurrentPage = e.Item.FindControl("labCurrentPage") as Label;
Label PageCount = e.Item.FindControl("labPageCount") as Label;
LinkButton FirstPage = e.Item.FindControl("lnkbtnFirst") as LinkButton;
LinkButton PrePage = e.Item.FindControl("lnkbtnFront") as LinkButton;
LinkButton NextPage = e.Item.FindControl("lnkbtnNext") as LinkButton;
LinkButton LastPage = e.Item.FindControl("lnkbtnLast") as LinkButton;
CurrentPage.Text = (pds.CurrentPageIndex + 1).ToString();//绑定显示当前页
PageCount.Text = pds.PageCount.ToString();//绑定显示总页数
if (pds.IsFirstPage)//如果是第一页,首页和上一页不能用
{
FirstPage.Enabled = false;
PrePage.Enabled = false;
}
if (pds.IsLastPage)//如果是最后一页"下一页"和"尾页"按钮不能用
{
NextPage.Enabled = false;
LastPage.Enabled = false;
}
}
}