• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

急!!!关于UpdatePanel和JS配合使用的问题?

bwangel 2007-12-24 02:30:19
我写一个即时聊天的程序,用到UpdatePanel来定时刷新。
想像QQ那样用Ctrl+Enter提交,在网上找了代码插进去以后,没想到只有第一次发送消息时才会生效,UpdatePanel刷新以后再按Ctrl+Enter就无效了,不知为什么?对于JS和UpdatePanel中对象的关系,偶还不是特别清楚,快请各位大仙指点迷津!
以下是相关的部分代码:
                <asp:UpdatePanel ID="U2" UpdateMode="conditional" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtContent" runat="server" SkinID="abc" TextMode="MultiLine" Rows="5"
Style="float: left;"></asp:TextBox>
<div style="margin-left: 6px; float: left; padding-top: 2.5em;">
<asp:Label ID="lblTips" runat="server" CssClass="Warning" /><br />
<asp:Button ID="btnSend" runat="server" Height="40px" SkinID="abc" Text="Send" Width="60px"
OnClick="btnSend_Click" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
<script type="text/javascript">
var txtContent = $get("<%=txtContent.ClientID%>");
var btnSend = $get("<%=btnSend.ClientID%>");
var dvList = $get("dvList");
var tips = $get("<%= lblTips.ClientID %>");
function ctrlEnter()
{
if(window.event.ctrlKey&&window.event.keyCode==13)
{
btnSend.click();
}
}

function scrolltoBottom()
{
dvList.scrollTop = dvList.scrollHeight - dvList.clientHeight;
}

txtContent.onkeydown = ctrlEnter;
var t = setTimeout("scrolltoBottom()",2000);
</script>
...全文
788 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wanzhuan2010 2010-09-17
说的有道理!
回复
llqyouarebest 2008-11-27
支持本帖 顶
回复
bfeather 2007-12-25
js代码写在updatepanel里,更新时连同js一起执行
回复
leaohong 2007-12-25
在updatepannel刷新触发事件里调用JS啊
回复
ipqxiang 2007-12-25
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpdate" EventName="Click"/>
</Triggers>
回复
zhq3k 2007-12-25
var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_beginRequest(startReq);//开始执行的脚本
prm.add_endRequest(endReq);//执行完后再执行的脚本
回复
hzsasheng 2007-12-25
把这段js代码写在updatepanel里面试试
回复
bwangel 2007-12-25
谢谢,这个问题已解决。原因是我把找对象的语句写在了函数外面。而这些个语句只在页面初次加载时只执行一次。第二次局部
刷新时全局的JS就找不到对象了。所以应该写在函数里面。

下面还有另一个问题,就是怎样在UpdatePanel更新以后立即执行一段JS代码,就如同页面初次加载时一样?这么多分别浪费了。
回复
zhuanshen712 2007-12-24
帮你顶,这么多分的贴别沉了。
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2007-12-24 02:30
社区公告
暂无公告