我创建了一个聊天应用程序,并使用多行文本框显示聊天消息。
**Aspx page :**
<asp:UpdatePanel runat="server" ID="up1" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Height="163px" Font-Size="0.81em"
Font-Names="Verdana" TextMode="MultiLine"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="refreshTimer" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
<asp:Timer runat="server" ID="refreshTimer" Interval="2000" Enabled="true"
ontick="refreshTimer_Tick" />
**Behind code :**
protected void refreshTimer_Tick(object sender, EventArgs e)
{
up1.Update();
}
一切正常,但是在收到更多消息之后TextBox1刷新并且最后一行被隐藏并显示垂直滚动条,我如何将光标位置放在最后一行之后的新行上。
提前致谢.......:)
答案 0 :(得分:0)
我认为您可以为文本框设置ClientIDMode =“Static”,如下所示:
<asp:TextBox ID="TextBox1" runat="server" Height="163px" ClientIDMode="Static" Font-Size="0.81em" Font-Names="Verdana" TextMode="MultiLine"></asp:TextBox>
然后将填充的javascript放在页面上:
<script type="text/javascript">
$(document).ready(function () {
$('#TextBox1').live('change', function () {
$('#TextBox1').scrollTop($('#TextBox1')[0].scrollHeight - $('#TextBox1').height());
});
});
</script>