首页 新闻 会员 周边 捐助

GridView与UpdatePanel怎么实现很多网站的那个献鲜花,砸鸡蛋的无刷新功能

0
悬赏园豆:200 [待解决问题]

 初学者。。多指教

各位帮帮忙。。。。。急啊

SHINE_LIN的主页 SHINE_LIN | 初学一级 | 园豆:4
提问于:2012-07-28 18:34
< >
分享
所有回答(3)
0

注意UPdatePanel只是封装了AJAX,也就是本质还是AJAX,像那种功能你完全可以用AJAX来做,我给你段纯JS的AJAX代码,你也可以用Jquery方式的AJAX。

// 初始化XMLHTTP  
var XmlHttp; try { // Firefox, Opera 8.0+, Safari XmlHttp = new XmlHttpRequest(); } catch (e) { // Internet Explorer try { XmlHttp = new ActiveXObject("Msxml2.XmlHttp"); } catch (e) { try { XmlHttp = new ActiveXObject("Microsoft.XmlHttp"); } catch (e) { alert("您的浏览器不支持AJAX!"); } } } }
//向后台ASHX文件提交 XmlHttp.Open(
"POST", "AddNoFile.ashx?xmid=" + xmid + "&category=" + category + "&col=" + col, true); XmlHttp.send(null); XmlHttp.onreadystatechange = function () { if (XmlHttp.readystate == 4 || XmlHttp.readystate == 'complete') { //成功后干的事,我这是以返回succed认为成功的,然后用JS把页面控件的值改变
if (XmlHttp.responsetext == "succed") { if (gridrow.childNodes[4] != null) { gridrow.childNodes[4].innerHTML = 2; } else if (gridrow.childNodes[1] != null) { gridrow.childNodes[1].innerHTML = 2; } } } }
happydaily | 园豆:260 (菜鸟二级) | 2012-07-28 20:13

Updatepanel示例

//这个必须有
<asp:ScriptManager ID="ScriptManager1" runat="server">
 </asp:ScriptManager>

//声明开始
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate>
//此处放你要无刷的控件    </ContentTemplate>
  
<Triggers>//响应回发的JS的控件

<asp:PostBackTrigger ControlID="PostButton" />
    </Triggers>
 
//无刷结束
  </asp:UpdatePanel>

后台事件就像平常一样添加,注意某些非runat="server" 要调整时,必须用如下代码
 ScriptManager.RegisterStartupScript(this.UpdatePanel1, Page.GetType(), "closeZj", "<script>newzj();</script>", false);
支持(0) 反对(0) happydaily | 园豆:260 (菜鸟二级) | 2012-07-28 20:19
0

实现不了吧。。。。Gridview是一整个控件,要刷新就都刷了。。。不可能只刷一部分吧。。。而且,只刷一部分你想一下,你还要连接数据库布不,那你咋写啊?

羽商宫 | 园豆:2490 (老鸟四级) | 2012-07-29 08:18

就是这样

支持(0) 反对(0) SHINE_LIN | 园豆:4 (初学一级) | 2012-07-29 22:39
0

如果网站上使用asp.net ajax这个框架太大了,使用jquery还好些

Tom.汤 | 园豆:3058 (老鸟四级) | 2012-07-29 11:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册