asp.net 读取显示二进制图片,JS循环

ashx文件:MemoryStreamstream=newMemoryStream();intid=int.Parse(context.Request.QueryStri... ashx文件:
MemoryStream stream = new MemoryStream();
int id = int.Parse(context.Request.QueryString["id"]);
SqlConnection connection = new SqlConnection("省略");
try
{
connection.Open();
SqlCommand command = new SqlCommand("select [WishImage] from Wish where WishID='" + id + "' and IsApproved=True", connection);
command.Parameters.Add(new SqlParameter("@id", id));
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
byte[] image = (byte[])reader["WishImage"];
stream.Write(image, 0, image.Length);
Bitmap bitmap = new Bitmap(stream);
context.Response.ContentType = "image/jpeg";
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
finally
{
connection.Close();
stream.Close();
}

aspx显示文件:
<script language="javascript" type="text/javascript">
var i = 1;
function fun() {
i++;
document.getElementById("img1").src = "display.ashx?id=" + i;
if (i == 7)
{ i = 0; }
}
setInterval("fun()", 1000);
</script>
<asp:Image ID="img1" runat="server" src="display.ashx?id=1">

我现在可以逐个显示从数据库提取出来的二进制图片,但是我提前知道了有7张图片在数据库,所以我的JS里面的i最大放7然后到7回0.
我想知道有没有办法在不知道数据库有多少图片的情况下,做个循环,怎么来定义这个count呢
我个人觉得大概是用 select count(*) from WishImage, 但是在后台哪里加,前台可以得到。求大神具体讲解。
展开
 我来答
zgh840925
2014-02-18 · TA获得超过283个赞
知道小有建树答主
回答量:410
采纳率:0%
帮助的人:355万
展开全部
很简单后台定义一个 PUBLIC 变量 如

public int count=0;

在这个地方 SqlDataReader reader = command.ExecuteReader();

循环读取的时候 count++;

前台JS 的地方 var count = <%=count%>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式