用ASPX(C#)写的一个查询网页,其中有一个GridView组件,绑定了一个SqlDataSource控件,每行对应一个Linkbutton按钮,
   1.如何在单击linkbutton时,可以将对应行的内容在新窗口打开,以XML格式显示?(行的内容就是XML格式的,弹出窗口,按钮要调用GridView_RowCommand事件)
   2.如何在点击后退按钮时,GridView还可以显示之前查询的内容?(现在后退的时候,GridView就不见了,要重新查询才行)

解决方案 »

  1.   

    输出XML可 context.Response.ContentType = "text/xml";
    context.Response.Write("写XML格式的数据");
    返回代码要自己写,点浏览器返回按钮是无效,例如你将当前URL,<%=Request.RawUrl%>保存在cookie,
    下一个点击返回时候用该cookie存的URL,就可以实现。
      

  2.   

    不是特别明白,本来就是调用command事件啊,里面写js方法就是了,写个showmodaldialog?
    后退按钮?是ie的后退按钮?怎么可能控制那个?
      

  3.   

    1.用Session或者Cookie保存DataSet输出的XmlStream,或者直接输出至一个临时的xml文件
    dataSet.WriteXml(Stream);
    dataSet.WriteXml("xmlFileName.xml", XmlWriteMode.IgnoreSchema);
    考虑到并发访问,还是用流比较好,用using(){}即时释放2.在新窗口中点击后退回到原窗口?这个貌似是由浏览器自动记忆的。不过你可以在弹出页面上自己写一个“返回”的按钮,点击转到主页面
      

  4.   


    目前使用的就是这种方法,不过是在当前页显示的.想让它在弹出窗口中显示内容.Response.ContentType="text/xml";
    Response.Write(strXML);
    Response.End();
      

  5.   

    后退按钮咋写的。、你后退的时候在给他绑定一次。pageload里绑一下
      

  6.   

    弹出xml的话直接输入xml格式的字符串或是定向到一个xml格式的文件中就行了吧
      

  7.   


    pageload,数据量太大了,查询太费时。先不管那个后退了。
    让XML能在新页打开就行了,只要不覆盖到当前而就好。
    我是用上面的方法显示XML的,但不知道怎么在新页中显示。只要在新页中显示,就不用再后退了。