如何滚动到多行TextBox的底部?

时间:2012-02-08 17:11:12

标签: asp.net vb.net

我有一个网页控件,其中有一个多行文本框。我正在使用timer_tick事件更新文本框的内容。我想在每次触发timer_tick事件时显示文本框的最后一行。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您的问题有点不清楚,但要在服务器端获取ASP.NET TextBox的最后一行:

Dim lastLine = txt.Text.Split({Environment.NewLine},
                            StringSplitOptions.None).Last

在客户端,您可以使用此javascript获取最后一行:

var lines    = input.value.split('\n');
var lastLine = lines[lines.length-1];

您的问题似乎是“how to scroll asp.net textbox to bottom?

处理Sys.WebForms.PageRequestManager.endRequest事件并向下滚动文本框:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args)
{
   if (args.get_error() == undefined)
   {
       var tbox = $get('<%= TextBox1.ClientID %>');
       tbox.scrollTop = tbox.scrollHeight;
   }
}

答案 1 :(得分:0)

我认为OP正在寻找在每次更新时将文本框滚动到底部。 我发现this帮助了我。

Textbox1.SelectionStart = Textbox1.Text.Length - 1  
Textbox1.ScrollToCaret()