我的思路是:在Default.aspx里面,点击小图片.获得链接字符串(BooksDetails.aspx?ID=1000),将ID(1000)传给BooksDetails.aspx页面显示相关(ID为1000的图书)的详细信息;主页:(www.alibooks.com) 我想实现的效果:(http://www.tup.tsinghua.edu.cn/book/Showbook.asp?CPBH=019332-01&DJ=48)清华大学出版社
我的部分代码:Default.aspx
<td>
<a href='<%# "BooksDetails.aspx?id=" + DataBinder.Eval(Container.DataItem,"[\"BooksID\"]").ToString() %>' target="_blank"><asp:Image ID="imagedata" runat="server" Width="65" Height="92" ImageUrl='<%# "~/Default.aspx?id=" + DataBinder.Eval(Container.DataItem,"[\"BooksID\"]").ToString() %>'/>
</a>
</td>BooksDetails.aspx
<td>
<asp:Repeater runat="server" ID="Redeater1">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:Image runat="server" ID="i1" Width="120" Height="170" ImageUrl='<%# "~/booksdetails.aspx?id=" + DataBinder.Eval(Container.DataItem,"BooksID").ToString() %>' />
</ItemTemplate>
</asp:Repeater>
</td>BooksDetails.aspx.cs protected void Page_Load(object sender, EventArgs e)
{
try
{
int imgid = Int32.Parse(Request.QueryString["id"]);
SqlConnection conn = new SqlConnection();
NameValueCollection col = System.Configuration.ConfigurationManager.AppSettings;
conn.ConnectionString = col.Get("SQLConnectionString"); conn.Open();
string strSql = "select * from t_booksinfo where booksid=" + imgid
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
Response.ContentType = "image/gif";
Response.BinaryWrite((Byte[])reader["BooksImages"]);
["ImageSize"]);
}
Response.End();
conn.Close();
} catch (Exception err)
{
Response.Write(err.Message);
}
}
我的部分代码:Default.aspx
<td>
<a href='<%# "BooksDetails.aspx?id=" + DataBinder.Eval(Container.DataItem,"[\"BooksID\"]").ToString() %>' target="_blank"><asp:Image ID="imagedata" runat="server" Width="65" Height="92" ImageUrl='<%# "~/Default.aspx?id=" + DataBinder.Eval(Container.DataItem,"[\"BooksID\"]").ToString() %>'/>
</a>
</td>BooksDetails.aspx
<td>
<asp:Repeater runat="server" ID="Redeater1">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:Image runat="server" ID="i1" Width="120" Height="170" ImageUrl='<%# "~/booksdetails.aspx?id=" + DataBinder.Eval(Container.DataItem,"BooksID").ToString() %>' />
</ItemTemplate>
</asp:Repeater>
</td>BooksDetails.aspx.cs protected void Page_Load(object sender, EventArgs e)
{
try
{
int imgid = Int32.Parse(Request.QueryString["id"]);
SqlConnection conn = new SqlConnection();
NameValueCollection col = System.Configuration.ConfigurationManager.AppSettings;
conn.ConnectionString = col.Get("SQLConnectionString"); conn.Open();
string strSql = "select * from t_booksinfo where booksid=" + imgid
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
Response.ContentType = "image/gif";
Response.BinaryWrite((Byte[])reader["BooksImages"]);
["ImageSize"]);
}
Response.End();
conn.Close();
} catch (Exception err)
{
Response.Write(err.Message);
}
}
解决方案 »
- DATAGRID里"编辑"和"删除"按钮问题
- table问题
- 实现类似于MSG的消息提示框
- 大家来看看,为什么提交不进数据库,请不吝赐教!
- vs2005中解决方案的问题
- 怎么使用SQL全文索引表,提高数据库搜索性能呢?
- 在页面中使用datagrid,它接受的返回类型为DataSet和ds.Table[0],同样都能暴露数据库的表结构吗?
- 有什么办法让SESSION失效的时候执行一个数据库操作?
- DataGrid的问题
- Response.BinaryWrite()图像输出的问题
- 大家帮忙看看这个怎么编译?
- 请问!asp.net+orcale跟asp.net+sqlserver相比开发起来会不会增加了不少难度?
http://blog.csdn.net/knight94/archive/2006/03/31/645987.aspx
Response.OutputStream.Write((byte[])myDataReader["PersonnelPhoto"], 0, int.Parse(myDataReader["PersonnelPhotoSize"].ToString()));
Response.End();我以前写的代码
booldetails.aspx 这个webform直接去取
UI
<asp:image id="img1" runat="server" />Code:
sub page_load(sender as object,e as eventargs)
if not ispostback then
img1.imageurl="image_path/" & request.querystring("img")
end if
end sub
Firestone2003(笨笨小猪,你的方法不行的;
truelove12(请及时结贴!) ,我的图片是存在数据库的!
<td>
<asp:Repeater runat="server" ID="Redeater1">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:Image runat="server" ID="i1" Width="120" Height="170" ImageUrl='<%# "~/booksdetails.aspx?id=" + DataBinder.Eval(Container.DataItem,"BooksID").ToString() %>' />
</ItemTemplate>
</asp:Repeater>
</td>
但是,这样一来,我的控件都看不到啦!
SqlDataAdapter myAdapter = new SqlDataAdapter(strSql, conn);
DataSet myDataset = new DataSet();
myAdapter.Fill(myDataset, "info");
DataList1.DataSource = myDataset.Tables["info"].DefaultView;
DataList1.DataBind();以下是指定另一个网页返回图片:
ImageUrl='<%# "ImagesDetails.aspx?id="+DataBinder.Eval(Container.DataItem,"BooksID").ToString() %>'