大意如题。  补充:页面用的是JS插件colorbox,在超链接处点击然后弹出窗口。现在我需要在后台动态调用这个弹出窗口,比如我先从客户端点击获取一些参数,回传给服务器,然后利用传过来的参数查询数据库,最后返回数据,显示在colorbox中。  示例调用:<a href="Default.aspx" class="iframe">点击此处弹出窗口</a>  问题的关键在于这个class="iframe"。如何在后台增加这个class="iframe",而且要保证在点击后才增加这个class="iframe",以便弹出窗口。(后台用的是C#)另外参考:
http://topic.csdn.net/u/20111201/21/75fae38d-f3d9-4661-bd73-f3c346181e10.html

解决方案 »

  1.   


      现在是这样做的,但在实现遇到了点问题。我需要实时点击查询数据,过程大概是这样:客户端(点击)--服务端(处理数据)--客户端(呈现)。这个class="iframe"又不能定义在页面,需要点击后再加载,以便在点击的页面弹出colorbox。能实现不?
      

  2.   

    你是想用ajax来实现无刷新更新吗?参考:http://api.jquery.com/jQuery.get/
    $.get(你的url,{你的参数,json格式},function(){
      $(a["href=Default.aspx"])[0].className="iframe";
    )});另外其实我一直没真正听明白你的需求,我前面的回答都是半猜的,你描述问题的时候最好加点标识,页面A,页面B这样
    我需要实时点击查询数据,过程大概是这样:客户端(点击-什么-)--服务端(处理数据)--客户端(呈现-什么-)。这个class="iframe"又不能定义在页面,需要点击-什么-后再加载,以便在点击的页面弹出colorbox。能实现不?
      

  3.   

    如此可以看出A页面的代码你可以修改,那就在A页面查询完GIS的回调函数里面把你想要的ajax发送到你的数据库,再在数据库查询完毕的回调函数里面加上这个class="iframe"就可以了,对HTML页面的操作不需要C#,参看3楼。另外你即使给a加上class="iframe"但是你不点击他也会有colorbox效果吗?怎么跟我搜索到不一样?http://jacklmoore.com/colorbox/
      

  4.   


    所以这个才是我感到为难的地方,colorbox效果必须要先点击才能出来。首先我要点击GIS图,此时并不需要弹窗。点击GIS图只是获取如ID、Name等字段,回传到服务端,根据这些字段查询数据库,然后返回这个数据到页面B,到这里就被卡住了,colorbox效果无法出来。我理解的colorbox效果应该是这样,页面先有class="iframe",然后点击,弹窗。但是现在多了个GIS图,就不一样了。请问有没有其它方法实现?
      

  5.   

    既然colorbox需要点击才能引发,那你在页面A的连接里面加上这个class为什么会引起红色字的问题?
      

  6.   


    客户端的行为应该是先于服务端执行吧。平时我用这个colorbox,一般是如此:在A页面声明一个链接<a href="B?ID="+Eval("ID")>点击弹出窗口</a>,因为这样一加载A页面,ID值已经有了,那么我点击它当然是可以出来。然后我在B页面接受这个ID,用它查询相关的数据。假设页面A有个GIS图。在GIS中可不一样,我要首先获取GIS的字段,然后丢到服务端处理,此时页面B还没有获得这个字段,如果在页面A用class="iframe",弹出来就不是我要的信息了。
      

  7.   

    就是你在A页面中点击某个连接,同时进行查询GIS和打开B页面两个操作,而且你想打开B页面在你查询完GIS获取某个信息后才弹出?
      

  8.   


    差不多。页面A有GIS图,点击GIS图(客户端)---------->异步调用服务端方法---------->查询GIS图层相应字段(服务端)--------->利用GIS字段查询自己数据库(服务端)-------->发送到客户端------->弹出页面B(在A页面)
      

  9.   

    我不知道你那个colorbox是怎么样的,反正我搜索到的没有这种class=iframe 的用法,反而是$.colorbox()这种标准,你就在GIS返回的回调函数里面写就行了,思路就是这样了。你查查相关API吧。