在一个页面中如何显示多张图片???

hukejie 2003-06-24 03:41:26
有两个页面:
其一:displaynews.aspx包括一
<asp:image id="picture" Runat="server" Visible="False"></asp:image>控件,
在其cs文件中:
//显示图片(参数:display,1 true 0 false)
SqlDataReader dr = news.GetNewsAttach(NewsID,1);
//if(dr.Read()),当用if时显示第一张图片,当用while显示最后一张图片
while(dr.Read())
{
picture.ImageUrl= "Display.aspx?AttachID="+dr["Attach_ID"].ToString();
picture.Visible = true;
}
另一页面用于显示图片,为dispay.aspx其cs文件为:
if(Request.Params["AttachID"] != null)
{
string strSQL = "SELECT * FROM News_Attach WHERE Attach_ID = "+Request.Params["AttachID"];
SqlCommand myComm = new SqlCommand(strSQL,myConn);
myConn.Open();
SqlDataReader dr = myComm.ExecuteReader();
if(dr.Read())
{
Response.ContentType = dr["ContentType"].ToString(); System.Drawing.Image _image=System.Drawing.Image.FromStream( new System.IO.MemoryStream( (byte[])dr["UpFiles"] ));
if (_image.Width > 450)
{
Int32 _width = 450;
Int32 _height = Convert.ToInt32( _image.Height * ( 450.00 / _image.Width));
Bitmap _ResizedBmp = new Bitmap(_image,_width,_height);
_ResizedBmp.Save(System.Web.HttpContext.Current.Response.OutputStream,_image.RawFormat);
_ResizedBmp.Dispose();
_image.Dispose();
}
else
{
Response.OutputStream.Write((byte[])dr["UpFiles"], 0, (int)dr["ByteSize"]);
_image.Dispose();
}
}
请问如何显示多张图片
...全文
497 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
大健 2003-06-24
  • 打赏
  • 举报
回复
up
gOODiDEA 2003-06-24
  • 打赏
  • 举报
回复
:)
come late, the method of zwztu() is good
孟子E章 2003-06-24
  • 打赏
  • 举报
回复
http://lucky_elove.www1.dotnetplayground.com/ShowDetail.aspx?id=2A5DD7C6-A45A-48AB-A2E8-342A29F17506

http://lucky_elove.www1.dotnetplayground.com/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1
孟子E章 2003-06-24
  • 打赏
  • 举报
回复
<asp:Image Runat=server ID="Image1" Width="150" Height="125"
ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' />
</ItemTemplate>
117hn 2003-06-24
  • 打赏
  • 举报
回复
你的问题以前我已经回复了,你可以改变思路,在试一试
zwztu 2003-06-24
  • 打赏
  • 举报
回复
在while中添加
System.Web.UI.WebControls.Image temp=new System.Web.UI.WebControls.Image();
temp.ImageUrl="Display.aspx?AttachID="+dr["Attach_ID"].ToString();
div1.Controls.Add(temp);

其中div1是可以添加控件的容器,在此我定义的是
protected System.Web.UI.HtmlControls.HtmlGenericControl div1;
greystar 2003-06-24
  • 打赏
  • 举报
回复
对于显示多个图片的问题,如果从数据库中动态取出的话,那一个页面只能显示一个图片。
这样的话。我们可以考虑使用多个页面。(真正显示图片的页面还是一个比如B.aspx)
思路:
A.aspx
DataTable pDT=数据源,该数据源有只要有一个列是记录的主键,比如有一列PicGuid
string str="";
for(int i=0 ;i<pDT.Rows.count;i++)
{
str+="<iframe src=b.aspx?picGuid="+pDT.rows[i][0].tostring() +"></iframe>"

}
这样就可以得到相等的iframe.
最后只要response.write(str)就可以了。(这是在客户端的最后结果,会调用B.aspx)

B.aspx页
会有一个值传进来,就是picGuid
你只要从数据库中取出记录id为picGuid的那个记录,可以生成一个图片。



孟子E章 2003-06-24
  • 打赏
  • 举报
回复
http://lucky_elove.www1.dotnetplayground.com/
zwztu 2003-06-24
  • 打赏
  • 举报
回复
在while中可以动态添加image控件,同时指定imageurl
暗石绿 2003-06-24
  • 打赏
  • 举报
回复
yes
孟子E章 2003-06-24
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Web.UI.WebControls" %>
<html>
<head>
<script language="C#" runat="server">
public void Page_Load(Object sender, EventArgs e) {
int n = 0;
int count = 6;
while (n<count)
{
System.Web.UI.WebControls.Image image=new System.Web.UI.WebControls.Image();
image.ImageUrl="http://lucky_elove.www1.dotnetplayground.com/Images/logo.gif";
//attachPanel.Controls.Add(image);
HyperLink hp=new HyperLink();
hp.Target="_blank";
hp.Text="filename"+n;
hp.ImageUrl=image.ImageUrl;
hp.NavigateUrl="http://lucky_elove.www1.dotnetplayground.com";
attachPanel.Controls.Add(hp);
n++;
}
}
void openWin(Object sender, EventArgs e) {
for(int i = 0;i<attachPanel.Controls.Count;i++)
{
if(attachPanel.Controls[i].GetType().ToString()=="System.Web.UI.WebControls.HyperLink")
Response.Write(((HyperLink)attachPanel.Controls[i]).Text.ToString() + "<br>");
}
}

</script>
</head>
<body topmargin="20" leftmargin="10">
<form id="myForm" runat="server">
<asp:Button id="Button1" runat="server" Text="Get ALl HypLink" onclick="openWin"></asp:Button>
<br>
<asp:Panel id="attachPanel" runat="server"></asp:Panel>
</form>
</body>
</html>
jeffrey_rui 2003-06-24
  • 打赏
  • 举报
回复
<asp:datalist id="MyList" runat="server" Width="100%" CssClass="link2" GridLines="Both" CellPadding="0" BorderWidth="0px" RepeatColumns="1" ShowHeader="False" ShowFooter="False" RepeatDirection="Horizontal">
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="3" width="100%" border="0">
<TR>
<TD vAlign="center" align="middle" width="100%"><IMG src=dispay.aspx.aspx?AttchId=<%# DataBinder.Eval(Container.DataItem, "IID") %>' border=0>
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>
流梓 2003-06-24
  • 打赏
  • 举报
回复
用image控件
OK521 2003-06-24
  • 打赏
  • 举报
回复
在datalist中自定义模版来显示。很简单的。
冰河绝恋 2003-06-24
  • 打赏
  • 举报
回复
+

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧