急!!!关于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>
...全文
846 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
帮你顶,这么多分的贴别沉了。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧