显示图片的文件名为showimg.aspx
<asp:Image id=Image2 runat="server" ImageUrl="showimg.aspx"></asp:Image>showimg.aspx.cs文件代码
private void Page_Load(object sender, System.EventArgs e)
{
if( !IsPostBack )
{
try
{
Response.Clear();
if(   Request.QueryString["Type"]!=null )
{
Response.ContentType=Request.QueryString["Type"];
Response.BinaryWrite((byte[])this.Session["img"]);
}
else
{
  InfromationData ds = (InfromationData)this.Session["img"];
Response.ContentType = ds.Tables.[InfromationData.INFROMATION_TABLE].Rows[0][InfromationData.IMGSUFFIXNAME_FIELD].ToString();
   Response.BinaryWrite( (byte[]) ds.Tables.[InfromationData.INFROMATION_TABLE].Rows[0][InfromationData.RELAIMAGE_FIELD] );
}
}
catch
{

}
Response.End();
}图片是出来了,但showimg.aspx页代码只在第一次启动时运行,图片也因此只显示同一张.
各位大哥帮帮忙啊!!!

解决方案 »

  1.   

    我可以肯定因为你的Request.QueryString["Type"]==null 对不对?
      

  2.   

    To: sdenli(史丹力)
    不是的,Request.QueryString["Type"]!=null 没问题,问题是这个页面的代码只在程序第一次启动时执行,过后再也不执行了..
      

  3.   

    UP + 学习 + 接分UP + 学习 + 接分UP + 学习 + 接分
      

  4.   

    因为你加了not ispostback啊,也就是回发数据不在调用其代码了啊。。当然了
      

  5.   

    TO: hackate
    在哪里加的啊兄弟,说请楚点好吗???谢了..
      

  6.   

    if( !IsPostBack )   在这里。这句就是每次只运行一次的原因。你可以去掉试试就知道了
    {
    try
    {
    Response.Clear();
    if(   Request.QueryString["Type"]!=null )
      

  7.   

    连if( !IsPostBack ) 这句也不执行,去不去都无所谓啦..
      

  8.   

    因为加了 if( !IsPostBack )
    {
    所以只在首次启动时执行,  应在适当的地方让 autopostback.
      

  9.   

    if( !IsPostBack )的作用是只在第一次构造页面的时候才执行其中的代码。
      

  10.   

    你使用了Row[0],当然只显示第一行的图片。
    如果你加了个循环,情况就不一样了。
    for(int i=0;i<=行数,i++)
    {
    Table[].Row[i].
    }
      

  11.   

    我没有看懂楼主的意思。说连if( !IsPostBack )这句话都没有判断吗?会不会是你的事件触发时没有连到PAGE_LOAD这个函数上啊